Collaborative rich text editor using CRDTs on top of Firebase (Realtime Database).
First, install Node.js. Then run npm i
.
For RTDB: import rtdb_initial_data.json
(necessary because Quill assumes the text always includes at least an ending "\n").
Build the server from src/
, with browser-facing content in development mode.
You must pass the FirebaseOptions
object (for initializeApp
) in the FIREBASE_CONFIG
env var, as a JSON string.
Build the server from src/
, with browser-facing content in production mode (smaller output files; longer build time; no source maps).
You must pass the FirebaseOptions
object (for initializeApp
) in the FIREBASE_CONFIG
env var, as a JSON string.
Run the server. Open http://localhost:3000/ to view. Use multiple browser windows at once to test collaboration.
The port can be configured with the PORT environment variable. It defaults to 3000.
Delete build/
.
Modified from Collabs's rich text demo by Benito Geordie.