How abdulazeem-10/ai-coding-agent works
This is a browser-based AI coding environment. Users register or log in, create and retrieve projects, then use a project workspace for AI-generated files, real-time collaboration, and in-browser Node.js execution. The backend separates HTTP routing, authentication, controllers, services, and MongoDB-backed models, with Redis token blacklisting and a Gemini integration. Real-time and execution links are documented or referenced by the workspace, but their implementation details were not sampled; those edges are cited to the README.
Main entry points: AppRoutes.jsx App routes · axios.js Axios client · Project.jsx Project workspace · user.controller.js User controller
Components 27
Browser workspace
- App routes
frontend/src/routes/AppRoutes.jsx - Home screen
frontend/src/screens/Home.jsx - Login screen
frontend/src/screens/Login.jsx - Register screen
frontend/src/screens/Register.jsx - Project workspace
frontend/src/screens/Project.jsx - Axios client
frontend/src/config/axios.js - User context
frontend/src/context/user.context.jsx
Identity and access
- Auth guard
frontend/src/auth/UserAuth.jsx - User routes
backend/routes/user.routes.js - User controller
backend/controllers/user.controller.js - JWT middleware
backend/middleware/auth.middleware.js - User service
backend/services/user.service.js - User model
backend/models/user.model.js - Token blacklist
backend/services/redis.service.js
Project management
- Express app
backend/app.js - Project routes
backend/routes/project.routes.js - Project controller
backend/controllers/project.controller.js - Project service
backend/services/project.service.js - Project model
backend/models/project.model.js
AI generation
- AI routes
backend/routes/ai.routes.js - AI controller
backend/controllers/ai.controller.js - AI service
backend/services/ai.service.js
Collaboration and execution
- Socket.IO rooms
backend/server.js - Socket client
frontend/src/config/socket.js - WebContainers
frontend/src/config/webContainer.js
Other components
- Developer
- Google Gemini
Connections 40
- Developer → App routes: uses
README.md - App routes → Home screen: routes to
frontend/src/routes/AppRoutes.jsx - App routes → Login screen: routes to
frontend/src/routes/AppRoutes.jsx - App routes → Register screen: routes to
frontend/src/routes/AppRoutes.jsx - App routes → Project workspace: routes to
frontend/src/routes/AppRoutes.jsx - App routes → Auth guard: guards
frontend/src/routes/AppRoutes.jsx - Auth guard → Axios client: requests via
frontend/src/auth/UserAuth.jsx - Auth guard → User context: updates
frontend/src/auth/UserAuth.jsx - Login screen → Axios client: requests via
frontend/src/screens/Login.jsx - Login screen → User context: updates
frontend/src/screens/Login.jsx - Register screen → Axios client: requests via
frontend/src/screens/Register.jsx - Register screen → User context: updates
frontend/src/screens/Register.jsx - Home screen → Axios client: requests via
frontend/src/screens/Home.jsx - Project workspace → Axios client: requests via
frontend/src/screens/Project.jsx - Axios client → Express app: HTTP API
README.md - Express app → User routes: mounts
backend/app.js - Express app → Project routes: mounts
backend/app.js - Express app → AI routes: mounts
backend/app.js - User routes → User controller: dispatches
backend/routes/user.routes.js - User routes → JWT middleware: protects
backend/routes/user.routes.js - User controller → User service: delegates to
backend/controllers/user.controller.js - User controller → User model: queries
backend/controllers/user.controller.js - User controller → Token blacklist: blacklists token
backend/controllers/user.controller.js - JWT middleware → Token blacklist: checks blacklist
backend/middleware/auth.middleware.js - JWT middleware → User model: verifies JWT
README.md - User service → User model: uses
backend/services/user.service.js - Project routes → Project controller: dispatches
backend/routes/project.routes.js - Project routes → JWT middleware: protects
backend/routes/project.routes.js - Project controller → Project service: delegates to
backend/controllers/project.controller.js - Project controller → User model: looks up user
backend/controllers/project.controller.js - Project service → Project model: queries
backend/services/project.service.js - Project controller → Project model: reads project
backend/controllers/project.controller.js - AI routes → AI controller: dispatches
backend/routes/ai.routes.js - AI controller → AI service: calls
backend/controllers/ai.controller.js - AI service → Google Gemini: generates content
README.md - Project workspace → AI routes: sends prompts
README.md - Project workspace → Socket client: collaborates via
README.md - Socket client → Socket.IO rooms: joins rooms
README.md - Socket.IO rooms → Project model: validates project
README.md - Project workspace → WebContainers: runs projects
README.md