A real-time collaborative coding platform enabling teachers to create virtual classrooms and students to code together — live. 📄 This project resulted in a published research paper.
- Real-time collaboration — multiple users edit code simultaneously in the same room via WebSockets
- Room-based sessions — any user can create a room and share its unique Room ID to invite others
- Virtual classrooms — teachers create rooms; students log in to the same shared editor
- Invite via Room ID — instant join with a shared ID, no sign-up friction for guests
| Role | Permissions |
|---|---|
| Teacher | Create a room, share Room ID, edit and guide live |
| Student | Join via Room ID, collaborate and code in real time |
# 1. Clone the repo
git clone https://github.com/your-org/codeconnect-classroom.git
# 2. Install dependencies
cd server && npm install
cd ../client && npm install
# 3. Set up environment
cp .env.example .env # add your MONGO_URI and PORT
# 4. Start the backend
cd server && npm start
# 5. Start the frontend
cd client && npm start
# 6. Open http://localhost:3000| Layer | Technology |
|---|---|
| Runtime | Node.js |
| Frontend | React.js |
| Backend | Express.js |
| Real-time | WebSockets (Socket.io) |
| Database | MongoDB |
- A user (teacher) creates a room — a unique Room ID is generated.
- The Room ID is shared with students.
- Students join the room and are dropped into the same live code editor.
- All edits are broadcast in real time to every connected user via WebSockets.
- Session data is persisted in MongoDB.
This project was the basis of a published research paper demonstrating its academic and practical impact on collaborative coding education.
MIT