Skip to content

pujitha-mule/RealTimeCollaborativeCodingEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Real-Time Collaborative Coding Editor

A real-time collaborative coding platform built using React, Node.js, Express.js, and Socket.IO that enables multiple users to join shared rooms and edit code simultaneously with live synchronization across connected clients.

🚀 Features

  • Real-time multi-user code collaboration
  • Create or join collaboration rooms using unique room IDs
  • Instant synchronization of code changes across connected users
  • Username-based participant identification
  • Shared live editing environment with concurrent user support
  • Low-latency communication using Socket.IO
  • Syntax highlighting and interactive code editor support
  • Optimized socket event handling for efficient shared-state updates

🛠️ Tech Stack

  • Frontend: React.js
  • Backend: Node.js, Express.js
  • Real-Time Communication: Socket.IO
  • Editor: CodeMirror
  • Utilities: UUID

📂 Project Structure

RealTimeCollaborativeCodingEditor/
│── client/
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── socket/
│   │   └── App.js
│
│── server/
│   ├── socket/
│   ├── routes/
│   ├── server.js
│
│── package.json
│── README.md

⚙️ Core Functionalities

Real-Time Collaboration

  • Multiple users can collaborate in the same room
  • Live synchronization of editor state across clients
  • Concurrent editing support through event-driven architecture

Room Management

  • Generate unique room IDs
  • Join existing collaboration rooms
  • User identification during active sessions

Socket Communication

  • Real-time event broadcasting
  • Shared state synchronization
  • Optimized socket communication to reduce redundant updates

Code Editor

  • Syntax highlighting support
  • Interactive coding experience
  • Real-time editor updates for all participants

🔄 Real-Time Workflow

  1. User creates or joins a room
  2. Socket connection is established
  3. Code changes are emitted as socket events
  4. Server broadcasts updates to connected users
  5. All connected clients stay synchronized in real time

🌐 Live Demo

Live Application

https://codecast-324z.onrender.com

Demo Video

codeCast.mp4

GitHub Repository

https://github.com/pujitha-mule/RealTimeCollaborativeCodingEditor


▶️ How to Run the Project

Clone Repository

git clone https://github.com/pujitha-mule/RealTimeCollaborativeCodingEditor.git

Navigate to Project Folder

cd RealTimeCollaborativeCodingEditor

Install Dependencies

Client

cd client
npm install

Server

cd ../server
npm install

▶️ Start Development Servers

Start Backend Server

npm start

Start Frontend

cd ../client
npm start

📈 Project Highlights

  • Built scalable real-time collaboration using Socket.IO
  • Implemented concurrent shared-state synchronization
  • Reduced communication latency through optimized socket events
  • Designed modular client-server architecture
  • Engineered seamless multi-user collaborative editing workflow

👩‍💻 Author

Pujitha Mule

GitHub: https://github.com/pujitha-mule

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors