A real-time collaborative code review platform built with a microservices architecture. Multiple users can join shared rooms, write code together, analyze it with a linter, and leave comments — all in real time.
- Real-time collaborative code editing (Socket.io)
- Python analysis via Pylint (real lint errors and warnings)
- JavaScript analysis via custom regex rules (var, ==, console.log, debugger, etc.)
- Live comment panel per room
- JWT-based authentication
- Room creation and joining via lobby page
- Dark gradient UI with Monaco Editor
| Service | Tech | Port |
|---|---|---|
| Nginx | Reverse Proxy | 80 |
| Frontend | React, Monaco Editor | 3006 |
| API Gateway | Express.js | 3000 |
| Auth Service | Express.js, MongoDB, JWT | 3001 |
| Analysis Service | FastAPI, Pylint | 3007 |
| Collaboration Service | Socket.io | 3003 |
- Docker Desktop
- MongoDB Atlas account (or any MongoDB URI)
Create a .env file in the root directory:
PORT=3001
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
JWT_EXPIRES_IN=24h
docker-compose up --buildAll services start automatically. Open http://localhost:3006
To stop:
docker-compose downClick to expand
Requires Node.js, Python 3.10+, and MongoDB.
# Auth Service
npm install && node index.js
# API Gateway
cd api-gateway && npm install && node index.js
# Analysis Service
cd analysis-service && pip install -r requirements.txt && python main.py
# Collaboration Service
cd collaboration-service && npm install && node index.js
# Frontend
cd frontend && npm install && npm start- Register an account and log in
- On the Lobby page, create a new room or join an existing one with a Room ID
- Share the Room ID with teammates — they can join from the Lobby
- Write code in the editor (JavaScript or Python)
- Click Analyze Code to run the linter
- Leave comments in the panel on the right