CodeRoom is a full-stack collaborative coding platform designed for technical interviews, pair programming, and online coding sessions. It enables developers to collaborate in real time through a shared code editor, integrated video calls, live chat, and secure coding rooms, providing an interactive environment for remote interviews and collaborative problem solving.
- Live code synchronization between participants
- Multi-user editing
- Syntax highlighting
- Automatic code synchronization without page refresh
- User registration and login
- Clerk-based authentication
- Protected routes
- Personalized user dashboard
- High-quality video calls
- Audio and camera controls
- Screen sharing support
- Meeting controls for seamless interviews
- Real-time messaging
- In-room communication
- Instant message delivery
- Create private interview rooms
- Join using room links
- Room-based collaboration
- Secure participant management
- View created rooms
- Track coding sessions
- Manage profile information
- Recent collaboration history
- Run code directly from the editor
- Support for multiple programming languages
- Instant execution results
- Error handling and output display
- React (Vite)
- Tailwind CSS
- React Router
- Context API
- Node.js
- Express.js
- MongoDB (Mongoose)
- Clerk Authentication
- Stream Video SDK
- Stream Chat
- Inngest
- Node.js v18+
- MongoDB
- Clerk Account
- Stream Account
git clone https://github.com/your-username/coderoom.git
cd coderoomcd frontend
npm install
npm run devcd backend
npm install
npm run devCreate a .env file inside the backend directory.
MONGO_URI=your_mongodb_uri
CLERK_SECRET_KEY=your_clerk_secret
CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
STREAM_API_KEY=your_stream_api_key
STREAM_SECRET=your_stream_secret
INNGEST_EVENT_KEY=your_inngest_key
JWT_SECRET=your_jwt_secretCodeRoom/
│
├── frontend/
│ ├── src/
│ ├── public/
│ └── ...
│
├── backend/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ ├── services/
│ └── ...
│
├── README.md
└── package.json
- AI interview assistant
- Interview recording
- Whiteboard collaboration
- Code playback and session replay
- Custom coding assessments
- Public coding rooms
- Leaderboards
- Notifications
- Calendar integration
Contributions are welcome!
-
Fork the repository
-
Create a feature branch
git checkout -b feature/your-feature- Commit your changes
git commit -m "Add your feature"- Push the branch
git push origin feature/your-feature- Open a Pull Request
This project is licensed under the MIT License.
⭐ If you like this project, consider giving it a star!