Real-time collaborative text editor with multiple clients and live sync using WebSockets.
-
Real-Time Collaboration β instantly sync edits between users.
-
Session Management β unique collaboration sessions via URL.
-
Operational Transformation (OT) β safe concurrent editing without conflicts.
-
Undo Support β each client can undo their last operation.
-
Network Delay Simulation β introduce artificial lag to test synchronization.
-
Edit History β request and replay full edit history.
Backend: Flask, Flask-SocketIO, Python
Realtime Communication: WebSockets via Socket.IO
Frontend: Vanilla JS + Socket.IO client
git clone https://github.com/Shavel-Viktoryia/collab-editor.git
cd collab-editor
pip install -r requirements.txt
python server/app.py
By default the app is listen on http://127.0.0.1:5000
Start or join a session using UI.
Text edits auto-sync across all connected clients.
Click the Undo button (or press Ctrl+Z) to revert the most recent change.
Use the built-in delay slider in the UI to introduce artificial latency and test conflict resolution.
Click the Show History button to view all operations.