How vaishnavi-3-naik/ai-interview-platform works
This is an AI interview practice platform: users register or log in, configure an interview, answer questions, receive AI feedback, and review results and history. The sampled backend confirms interview creation, retrieval and completion, plus answer evaluation; the client tree identifies setup, interview, result and history screens. The question-generation service is present, but its route and caller are not evidenced in the sampled source, so it is shown as a separate capability. Frontend API wiring is likewise not inferred.
Main entry points: App.jsx Client router · server.js HTTP API · interviewRoutes.js Interview routes · aiRoutes.js AI routes
Components 24
Web client
- Client router
client/src/App.jsx - API client
client/src/services/api.js - Login
client/src/pages/Login.jsx - Dashboard
client/src/pages/Dashboard.jsx - Interview setup
client/src/pages/InterviewSetup.jsx - Interview session
client/src/pages/Interview.jsx - Interview result
client/src/pages/InterviewResult.jsx - Interview history
client/src/pages/InterviewHistory.jsx
API and access
- HTTP API
server/server.js - Auth routes
server/routes/authRoutes.js - Interview routes
server/routes/interviewRoutes.js - AI routes
server/routes/aiRoutes.js - JWT protection
server/middleware/authMiddleware.js
Interview workflow
- Interview operations
server/controllers/interviewController.js - Interview model
server/models/Interview.js - Answer evaluation
server/controllers/aiController.js - Question generation
server/services/geminiService.js
Accounts
- Account operations
server/controllers/authController.js - Profile route
server/routes/userRoutes.js - User model
server/models/User.js
AI and storage
- Google Gemini
- Database connection
server/config/db.js - MongoDB
Other components
- Candidate
Connections 23
- Candidate → Client router: opens
- Client router → Login: routes to
- Client router → Dashboard: routes to
- Client router → Interview setup: routes to
- Client router → Interview session: routes to
- Client router → Interview result: routes to
- Client router → Interview history: routes to
- HTTP API → Auth routes: mounts
- HTTP API → Interview routes: mounts
- HTTP API → AI routes: mounts
- Auth routes → Account operations: dispatches
- Interview routes → JWT protection: protects
- Interview routes → Interview operations: dispatches
- AI routes → JWT protection: protects
- AI routes → Answer evaluation: dispatches
- Account operations → User model: reads and writes
- Profile route → JWT protection: protects
- Profile route → User model: reads
- Interview operations → Interview model: reads and writes
- Answer evaluation → Google Gemini: evaluates with
- Question generation → Google Gemini: generates with
- HTTP API → Database connection: connects through
- Database connection → MongoDB: connects