CollabCode — Real-Time Collaborative Code Editor
A full-stack, real-time collaborative code editor with multi-file support, document editing, video calling, AI-powered code assistance, and code execution in 14+ languages.
Features
- Real-Time Code Editing — Monaco Editor + Yjs CRDT for conflict-free collaboration
- Multi-File Workspace — Create, rename, delete, upload files and folders
- Rich Document Editor — Google Docs-like editing with Tiptap (bold, tables, images, etc.)
- Video Calling — Peer-to-peer WebRTC with screen sharing
- Real-Time Chat — Emoji picker, reactions, typing indicators
- AI Code Assistant — Google Gemini-powered code explain, debug, optimize
- Code Execution — Run code in 14+ languages (Judge0 CE API)
- User Authentication — JWT-based login/register with SQLite
- Zoom Controls — Adjustable editor font size (10–30px)
- Stdin Input — Provide input for programs that need cin/scanf/input()
- VS Code-Inspired Theme — Professional dark IDE aesthetic
Tech Stack
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS 4, Monaco Editor, Tiptap, Yjs, Framer Motion |
| Backend | Node.js, Express 5, Socket.IO, Yjs WebSocket, SQLite |
| Real-Time | Yjs CRDT, Socket.IO, WebRTC |
| APIs | Judge0 CE (code execution), Google Gemini (AI assistant) |
Installation
# Clone the repo git clone https://github.com/AdityaS62/CollabCode.git cd CollabCode # Install server dependencies cd server npm install # Create server .env echo "PORT=3001 JWT_SECRET=your-secret-key GEMINI_API_KEY=your-gemini-api-key" > .env # Start server npm run dev # In another terminal — install client dependencies cd client npm install # Create client .env echo "VITE_BACKEND_URL=http://localhost:3001" > .env # Start client npm run dev
Frontend: http://localhost:5173
Backend: http://localhost:3001
Deployment
See DEPLOYMENT.md for full deployment instructions (Render + Vercel).
Supported Languages
JavaScript, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, Kotlin, Swift, PHP, R
Author
Made with ❤️ by Aditya Kumar Singh