Collabz Editor is a robust, LAN-ready real-time collaborative text editor supporting seamless multi-user editing, automatic failover, and multi-server leader election. It is designed for reliability and easy deployment across multiple machines on your local network.
- Multi-server architecture: Python and Node.js servers can run on different machines, with automatic leader election and failover.
- LAN-ready React client: Connects to the current main server, auto-reconnects on failover, and provides a modern collaborative UI.
- No shared files: All state and election info is synced over the network.
- Config-driven: All servers and clients are configured via JSON files for easy deployment.
- Node.js (see
.nvmrcfor recommended version) for the client and JS server - Python 3.8+ for the Python server
- LAN connectivity between all devices
- Configure your servers and client
- Each server (JS or Python) must have a unique
id, its own port, and a list of all peer servers in itsserver_config.json. - The client uses
client_config.jsonto list all server addresses and its own address.
- Each server (JS or Python) must have a unique
- Start the servers
- See js-server/README.md for Node.js server setup.
- See py-server/README.md for Python server setup.
- Start the client
- See client/README.md for React client setup and LAN access.
Collabz Editor is open source and MIT licensed. Contributions and improvements are welcome!
Original inspiration and base code: This project is an improved and extended fork of Haddajii's Real-time-collaborative-text-editor, originally released under the MIT License.