How codexanuj012/agentiq works
InterviewIQ.AI is a web app for AI-powered mock interviews, interview reports and history, account sign-in, and credit purchases. The main domain flow extracts resume details, generates questions, evaluates answers, and stores interview results for reporting. The graph also captures authentication and payments. The supplied excerpts confirm backend controller dependencies and client routing, but do not show route-to-controller wiring or most page-level API calls, so those links are omitted.
Main entry points: App.jsx Client app · index.js Express API · user.model.js User records · Auth.jsx Sign-in
Components 28
Web application
- Client app
client/src/App.jsx - Sign-in
client/src/pages/Auth.jsx - Interview
client/src/pages/InterviewPage.jsx - Interview history
client/src/pages/InterviewHistory.jsx - Interview report
client/src/pages/InterviewReport.jsx - Pricing
client/src/pages/Pricing.jsx - User state
client/src/redux/userSlice.js
API and domain
- Express API
server/index.js - Auth routes
server/routes/auth.route.js - User routes
server/routes/user.route.js - Interview routes
server/routes/interview.route.js - Payment routes
server/routes/payment.route.js - Account handling
server/controllers/auth.controller.js - Current user
server/controllers/user.controller.js - Interview workflow
server/controllers/interview.controller.js - Payment handling
server/controllers/payment.controller.js - Auth middleware
server/middlewares/isAuth.js
External services
- Firebase Auth
- AI service
server/services/openRouter.service.js - Razorpay service
server/services/razorpay.service.js - Google sign-in
- OpenRouter
- Razorpay
Persistence
- User records
server/models/user.model.js - Interview records
server/models/interview.model.js - Payment records
server/models/payment.model.js - MongoDB connection
server/config/connectDb.js
Other components
- Candidate
Connections 27
- Candidate → Client app: uses
- Client app → Sign-in: routes
- Client app → Interview: routes
- Client app → Interview history: routes
- Client app → Interview report: routes
- Client app → Pricing: routes
- Client app → Express API: fetches current user
- Client app → User state: updates
- Sign-in → Firebase Auth: signs in
- Sign-in → Express API: posts credentials
- Sign-in → User state: updates
- Express API → Auth routes: mounts
- Express API → User routes: mounts
- Express API → Interview routes: mounts
- Express API → Payment routes: mounts
- Express API → MongoDB connection: connects
- Account handling → User records: reads and writes
- Account handling → User records: creates accounts
- Current user → User records: reads
- Interview workflow → User records: reads and updates credits
- Interview workflow → Interview records: creates and updates
- Interview workflow → AI service: requests analysis
- AI service → OpenRouter: sends prompts
- Payment handling → Razorpay service: creates orders
- Razorpay service → Razorpay: requests orders
- Payment handling → Payment records: creates and updates
- Payment handling → User records: adds credits