A real-time, multi-user collaborative code editor built using Spring Boot, React, and Tailwind CSS, enabling multiple users to edit code simultaneously within isolated rooms using WebSockets.
This project demonstrates real-time communication, concurrent session handling, and scalable backend design, similar to collaborative tools like Google Docs or online IDEs.
🚀 Features
🔴 Real-time code synchronization using WebSockets
👥 Multi-user rooms (isolated collaboration per room)
⚡ Low-latency bi-directional communication
🧵 Thread-safe session management
🎨 Clean and responsive UI using Tailwind CSS
🧠 Scalable architecture ready for distributed systems
🏗️ System Architecture Client (React) ↓ WebSocket Spring Boot WebSocket Server ↓ Room-based Session Manager ↓ Broadcast updates to users in same room
Each room maintains its own set of WebSocket sessions
Messages are broadcast only within the same room
Thread safety ensured using ConcurrentHashMap and CopyOnWriteArraySet
🛠️ Tech Stack Frontend
React
Tailwind CSS
WebSocket API
Backend
Spring Boot
Spring WebSocket
Java Concurrency Utilities
Communication
WebSockets (Full-duplex, real-time)