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.
- 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
| 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) |
# 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 devFrontend: http://localhost:5173
Backend: http://localhost:3001
See DEPLOYMENT.md for full deployment instructions (Render + Vercel).
JavaScript, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, Kotlin, Swift, PHP, R
Made with ❤️ by Aditya Kumar Singh