How tarun-maddimsetty/realtime-collaborative-coding-platform works
This is a browser-based collaborative coding application: users authenticate, create or join rooms, edit and share code/files, and run code or preview web projects. Room and file operations are exposed through the Express API and persisted in MongoDB; code execution is handled by a separate backend controller that invokes local language runtimes. The server also initializes Socket.IO room handling for realtime collaboration. The README is empty, and several relevant source files were not sampled, so uncertain UI-to-service and socket-event wiring is not shown.
Main entry points: server.js HTTP and socket server · roomController.js Room and file operations · authController.js Authentication · api.js API client
Components 26
Web client
- App routes
frontend/src/App.jsx - Auth state
frontend/src/hooks/useAuth.js - API client
frontend/src/services/api.js - Room service
frontend/src/services/roomService.js - Execution service
frontend/src/services/executeService.js - Coding room
frontend/src/pages/Room.jsx - Saved files
frontend/src/pages/SavedFilesPage.jsx
HTTP API
- HTTP and socket server
backend/server.js - Auth routes
backend/routes/authRoutes.js - Room routes
backend/routes/roomRoutes.js - File routes
backend/routes/fileRoutes.js - Execution routes
backend/routes/executeRoutes.js
Rooms and persistence
- Authentication
backend/controllers/authController.js - Room and file operations
backend/controllers/roomController.js - Users
backend/models/User.js - Rooms
backend/models/Room.js - Code files
backend/models/File.js - Saved files
backend/models/SavedFile.js - Messages
backend/models/Message.js - Database connection
backend/config/db.js
Realtime and execution
- Room sockets
backend/socket/roomSocket.js - Code execution and preview
backend/controllers/executeController.js
Other components
- Developer
- Google Identity
- MongoDB
- Language tools
Connections 29
- Developer → App routes: uses
- Auth state → API client: requests
- Auth state → Auth routes: authenticates via
- Google Identity → Authentication: verifies identity
- App routes → Coding room: routes to
- Coding room → Room service: room operations
- Saved files → Room service: file operations
- Room service → API client: sends requests
- Execution service → API client: sends requests
- API client → HTTP and socket server: HTTP requests
- HTTP and socket server → Auth routes: mounts
- HTTP and socket server → Room routes: mounts
- HTTP and socket server → File routes: mounts
- HTTP and socket server → Execution routes: mounts
- Auth routes → Authentication: dispatches
- Room routes → Room and file operations: dispatches
- File routes → Room and file operations: dispatches
- Execution routes → Code execution and preview: dispatches
- Authentication → Users: reads and writes
- Authentication → Rooms: reads
- Authentication → Saved files: reads
- Room and file operations → Rooms: reads and writes
- Room and file operations → Code files: writes
- Room and file operations → Saved files: reads and writes
- Room and file operations → Messages: uses
- HTTP and socket server → Database connection: connects
- Database connection → MongoDB: connects to
- HTTP and socket server → Room sockets: initializes
- Code execution and preview → Language tools: compiles and runs