How akcodz/codesync works
This is a collaborative coding platform: users authenticate, create or join projects, edit and save code, run it, and collaborate through chat/video. It also exposes coding problems and AI code review. The frontend routes users to these experiences; the Express backend handles account and project APIs, persistence, execution, and Stream token provisioning. Several page, AI, and execution implementations were not sampled, so their capabilities are shown without speculative call wiring.
Main entry points: AppRoutes.jsx App routes · app.js Express app · user.controller.js User accounts · project.controller.js Project and code
Components 29
Web application
- App routes
frontend/src/routes/AppRoutes.jsx - Private routes
frontend/src/routes/PrivateRoutes.jsx - User context
frontend/src/context/UserContext.jsx - Project browser
frontend/src/pages/Projects.jsx - Collaborative editor
frontend/src/pages/Project.jsx - Code editor
frontend/src/components/CodeEditor.jsx - Problem catalog
frontend/src/pages/Problems.jsx - Problem workspace
frontend/src/pages/Problem.jsx - AI code review
frontend/src/pages/CodeReview.jsx
API and domain
- Express app
backend/app.js - User routes
backend/routes/user.routes.js - User accounts
backend/controllers/user.controller.js - User records
backend/models/user.model.js - Project routes
backend/routes/project.routes.js - Project and code
backend/controllers/project.controller.js - Project records
backend/models/project.model.js - Code execution
backend/services/codeExecution.service.js - AI routes
backend/routes/ai.routes.js - AI review API
backend/controllers/ai.controller.js - Review generation
backend/services/ai.service.js - Database connection
backend/db/db.js
Live collaboration
- Chat routes
backend/routes/chat.routes.js - Stream token API
backend/controllers/chat.controller.js - Call and chat setup
frontend/src/hooks/UseStreamClient.js - Stream integration
backend/utils/stream.js
External services
- Stream services
- Gemini AI
- Code runner
Other components
- User
Connections 27
- User → App routes: uses
- App routes → Private routes: guards private routes
- App routes → Project browser: routes to
- App routes → Collaborative editor: routes to
- App routes → Problem catalog: routes to
- App routes → Problem workspace: routes to
- App routes → AI code review: routes to
- Private routes → User context: checks session
- Express app → Database connection: connects
- Express app → User routes: mounts
- Express app → Project routes: mounts
- Express app → Chat routes: mounts
- Express app → AI routes: mounts
- User routes → User accounts: dispatches
- User accounts → User records: reads and writes
- User accounts → Stream integration: upserts user
- Project routes → Project and code: dispatches
- Project and code → Project records: reads and writes
- Project and code → Code execution: runs code
- Code execution → Code runner: executes
- AI routes → AI review API: dispatches
- Review generation → Gemini AI: generates review
- Chat routes → Stream token API: dispatches
- Stream token API → Stream integration: creates token
- Call and chat setup → Chat routes: requests token
- Call and chat setup → Stream services: connects call and chat
- Stream integration → Stream services: provisions users