A real-time collaborative code editor platform empowering users to write, chat, and execute code together over the web effortlessly. Code Room supports active persistent sessions and native compilation for multiple popular languages directly within the browser dashboard.
- ⚡ Real-time Synchronization: Powered by Socket.io, code editing occurs perfectly in-sync across all participants.
- 💻 Live Compilation & Execution: In-house support for compiling and testing algorithms in JavaScript, Python, C++, and Java simultaneously.
- 💬 Live Room Chat: Integrated chat dashboards allowing users to communicate without leaving the programming workflow.
- 🔒 Persistent Code Storage: Rooms and live code payloads are safely vaulted into MongoDB so users rejoining or entering late access code seamlessly.
- 🎨 Sleek UI/UX: Utilizing TailwindCSS, the IDE mimics modern dark-mode VS Code themes with syntax highlighting driven identically by the underlying structural Monaco Editor engine.
- Framework: React / Vite
- Styling: Tailwind CSS
- Code Editor: Monaco Editor (VS Code core engine)
- Server: Node.js / Express
- Real-time Interface: Socket.io
- Database: MongoDB (Mongoose)
Code-Room is structured as a fullstack application, cleanly decoupled into independent client and server modules.
- Node.js (v18+)
- Local or Atlas MongoDB URI
- Global C++/Java compilers and Python (If local code execution is utilized) Let
g++,javac, andpythonexist in your path.
- Navigate to the server folder:
cd server - Install dependencies:
npm install - Prepare environment variables: Duplicate a
.envfile at theserver/level featuring:PORT=5000 MONGO_URI=your_mongodb_cluster_url FRONTEND_URL=http://localhost:5174
- Start the server:
npm run dev
- Open a new terminal and navigate to the client folder:
cd client - Install dependencies:
npm install - Configure dynamic environment parameters inside
.env.localinsideclient/:VITE_BACKEND_URL=http://localhost:5000
- Start the Vite development interface:
npm run dev
This repository was designed specifically avoiding hard-linked environments so that decoupling allows maximum flexibility for robust serverless setups.
- Frontend: Geared flawlessly to execute
npm run buildon Vercel. LockVITE_BACKEND_URLto your production host to ensure all routing automatically shifts. - Backend: Structurally arranged for zero-friction runtime on Render. Utilize standard HTTP builds relying natively on
npm startwhile declaring the productionFRONTEND_URLinside your Render dashboard's env-wizard to tightly lock all web-tier CORS parameters safely.
