Skip to content

Clothj/collab-editor

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Collaborative Text Editor

Real-time collaborative text editor with multiple clients and live sync using WebSockets.

✨ Features

  • 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.

πŸ›  Tech Stack

Backend: Flask, Flask-SocketIO, Python

Realtime Communication: WebSockets via Socket.IO

Frontend: Vanilla JS + Socket.IO client

πŸ“₯ Installation

1. Clone repository

git clone https://github.com/Shavel-Viktoryia/collab-editor.git
cd collab-editor

2. Install dependencies

pip install -r requirements.txt

3. Run the server

python server/app.py

By default the app is listen on http://127.0.0.1:5000

πŸš€ Usage

1. Start or join a session

Start or join a session using UI.

2. Editing

Text edits auto-sync across all connected clients.

3. Undo last operation

Click the Undo button (or press Ctrl+Z) to revert the most recent change.

4. Network delay simulation

Use the built-in delay slider in the UI to introduce artificial latency and test conflict resolution.

5. Show history

Click the Show History button to view all operations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 36.4%
  • Python 32.2%
  • CSS 22.0%
  • HTML 9.4%