Patchbay is a websockets-based API backend for our React & Redux-based webapp. Patchbay carries React actions onto the server, allowing duplexed communication between webapp clients & the React server. The server is able to fire native React actions that Redux will handle. We use this for reporting the progress of backend services like the completion of task_mgmt tasks via a Redis pub-sub connection, leave open the option for cross-user interactions using patchbay as the coordinating server.
We structure this entire websocket integration as a protocol upgrade above the api service. From the webapp perspective, it should be possible to have patchbay explode in a glorious ball of fire, and fall back to using api endpoints without interruption to the user.
Copyright (C) 2017 Data Together.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free Software
Foundation, version 3.0.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the LICENSE
file for details.
We would love involvement from more people! If you notice any errors or would like to submit changes, please see our Contributing Guidelines.
We use GitHub issues for tracking bugs and feature requests and Pull Requests (PRs) for submitting changes.
Because patchbay supports actions defined in webapp, the two repos are tightly coupled. The best way to see & work with patchbay is to run it as a backing service for webapp.
Webapp's development instructions are a great way to get started!