How 013harsh/chat-gpt works
Synova is a web-based AI chat application. A user navigates the React client, registers or logs in, then accesses the authenticated chat experience. Requests enter the Express API, where authentication middleware validates the cookie token before chat controllers create chats or retrieve messages through persistence models. The backend also starts real-time sockets and exposes AI generation and vector-memory integrations. The socket wiring and frontend API calls were not sampled, so those connections are intentionally limited.
Components 23
Web Client
- Main Routes
frontend/src/mainroutes/MainRoutes.jsx - Hero Page
frontend/src/pages/HeroPage.jsx - Login Page
frontend/src/pages/Login.jsx - Register Page
frontend/src/pages/Register.jsx - AI Chat Page
frontend/src/pages/SynovaAI.jsx
HTTP API
- Express App
backend/src/app.js - Auth Routes
backend/src/routes/auth.routes.js - Chat Routes
backend/src/routes/chat.routes.js
Identity & Chats
- Auth Controller
backend/src/controllers/auth.controller.js - Chat Controller
backend/src/controllers/chat.controller.js - Auth Middleware
backend/src/middlewares/auth.middleware.js - User Model
backend/src/models/user.model.js - Chat Model
backend/src/models/chat.model.js - Message Model
backend/src/models/message.model.js
Backend Runtime
- Server Bootstrap
backend/server.js - Database Connector
backend/src/db/db.js - Socket Server
backend/src/sockets/socket.server.js - MongoDB
AI & Memory
- AI Service
backend/src/services/ai.service.js - Vector Service
backend/src/services/vector.service.js
Other components
- User Browser
- Gemini API
- Pinecone Index
Connections 21
- User Browser → Main Routes: navigates
- Main Routes → Hero Page: renders
- Main Routes → Login Page: renders
- Main Routes → Register Page: renders
- Main Routes → AI Chat Page: renders
- Server Bootstrap → Express App: starts
- Server Bootstrap → Database Connector: connects
- Server Bootstrap → Socket Server: starts
- Express App → Auth Routes: dispatches
- Express App → Chat Routes: dispatches
- Auth Routes → Auth Controller: dispatches
- Chat Routes → Auth Middleware: guards
- Chat Routes → Chat Controller: dispatches
- Auth Controller → User Model: reads/writes
- Auth Middleware → User Model: loads user
- Chat Controller → Chat Model: reads/writes
- Chat Controller → Message Model: reads
- Database Connector → MongoDB: connects
- AI Service → Gemini API: generates
- Vector Service → Gemini API: embeds
- Vector Service → Pinecone Index: stores/queries