Skip to content
Aditya-RauniyarPublic

About

A full-stack collaborative coding platform for technical interviews and pair programming with real-time code editing, video calls, live chat, and secure coding rooms.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 CodeRoom

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.


✨ Features

💻 Real-Time Collaborative Code Editor

  • Live code synchronization between participants
  • Multi-user editing
  • Syntax highlighting
  • Automatic code synchronization without page refresh

👥 Secure Authentication

  • User registration and login
  • Clerk-based authentication
  • Protected routes
  • Personalized user dashboard

🎥 Video & Audio Communication

  • High-quality video calls
  • Audio and camera controls
  • Screen sharing support
  • Meeting controls for seamless interviews

💬 Live Chat

  • Real-time messaging
  • In-room communication
  • Instant message delivery

🏠 Coding Rooms

  • Create private interview rooms
  • Join using room links
  • Room-based collaboration
  • Secure participant management

📊 Dashboard

  • View created rooms
  • Track coding sessions
  • Manage profile information
  • Recent collaboration history

⚡ Code Execution

  • Run code directly from the editor
  • Support for multiple programming languages
  • Instant execution results
  • Error handling and output display

🧰 Tech Stack

Frontend

  • React (Vite)
  • Tailwind CSS
  • React Router
  • Context API

Backend

  • Node.js
  • Express.js
  • MongoDB (Mongoose)

Authentication

  • Clerk Authentication

Real-Time Services

  • Stream Video SDK
  • Stream Chat
  • Inngest

⚙️ Installation

Prerequisites

  • Node.js v18+
  • MongoDB
  • Clerk Account
  • Stream Account

Clone Repository

git clone https://github.com/your-username/coderoom.git

cd coderoom

Install Frontend

cd frontend

npm install

npm run dev

Install Backend

cd backend

npm install

npm run dev

🔐 Environment Variables

Create 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_secret

📂 Project Structure

CodeRoom/
│
├── frontend/
│   ├── src/
│   ├── public/
│   └── ...
│
├── backend/
│   ├── controllers/
│   ├── middleware/
│   ├── models/
│   ├── routes/
│   ├── services/
│   └── ...
│
├── README.md
└── package.json

🚀 Future Enhancements

  • AI interview assistant
  • Interview recording
  • Whiteboard collaboration
  • Code playback and session replay
  • Custom coding assessments
  • Public coding rooms
  • Leaderboards
  • Notifications
  • Calendar integration

🤝 Contributing

Contributions are welcome!

  1. Fork the repository

  2. Create a feature branch

git checkout -b feature/your-feature
  1. Commit your changes
git commit -m "Add your feature"
  1. Push the branch
git push origin feature/your-feature
  1. Open a Pull Request

📄 License

This project is licensed under the MIT License.


⭐ If you like this project, consider giving it a star!

About

A full-stack collaborative coding platform for technical interviews and pair programming with real-time code editing, video calls, live chat, and secure coding rooms.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages