How vks7102/zenquro-ai_interview works
Zenquro is an AI interview-practice product with account and plan management, paid subscriptions, and an admin console. The primary workflow is a candidate starting an interview, exchanging answers and generated questions, then receiving a saved report and history. The backend controller and route excerpts establish much of that flow; the README provides no further detail, and the Flutter application’s Dart UI sources are absent from the supplied tree, so its client-side workflow is not expanded here.
Main entry points: interviewController.js Interview workflow · subscriptionController.js Subscription workflow · adminController.js Admin operations · authController.js Account workflow
Components 29
Interview practice
- Interview API
backend/src/routes/interviewRoutes.js - Interview workflow
backend/src/controllers/interviewController.js - AI interview service
backend/src/services/aiService.js - Speech synthesis
backend/src/services/ttsService.js - Interview data
backend/src/models/InterviewSession.js - Interview messages
backend/src/models/InterviewMessage.js - Interview reports
backend/src/models/InterviewReport.js
Accounts and billing
- User accounts
backend/src/models/User.js - Account API
backend/src/routes/authRoutes.js - Account workflow
backend/src/controllers/authController.js - Plan access
backend/src/services/planService.js - Plans
backend/src/models/Plan.js - Subscription workflow
backend/src/controllers/subscriptionController.js - Subscription service
backend/src/services/subscriptionService.js - Coupon service
backend/src/services/couponService.js - Subscriptions
backend/src/models/Subscription.js - Coupons
backend/src/models/Coupon.js
Administration
- Admin console
admin-panel/src/App.jsx - Admin API client
admin-panel/src/api.js - Admin API
backend/src/routes/adminRoutes.js - Admin operations
backend/src/controllers/adminController.js - Admin accounts
backend/src/models/Admin.js
Backend runtime
- HTTP application
backend/src/app.js - Database connection
backend/src/config/db.js
Other components
- Candidate
- OpenAI-compatible API
- Speech provider
- Razorpay
- Administrator
Connections 42
- Candidate → Interview API: starts and answers
- Interview API → Interview workflow: dispatches requests
- Interview workflow → User accounts: loads user
- Interview workflow → Plan access: checks quota
- Plan access → Plans: reads plans
- Interview workflow → Interview data: creates and updates
- Interview workflow → Interview messages: reads and saves
- Interview workflow → AI interview service: generates questions and reports
- AI interview service → OpenAI-compatible API: requests completions
- Interview workflow → Speech synthesis: synthesizes questions
- Speech synthesis → Speech provider: requests speech
- Interview workflow → Interview reports: saves and reads reports
- Interview workflow → Interview data: lists history
- Interview workflow → Interview reports: loads history scores
- Candidate → Account API: authenticates
- Account API → Account workflow: dispatches requests
- Account workflow → User accounts: creates and reads users
- Account workflow → Plan access: builds access limits
- Account workflow → Plans: reads selected plan
- Candidate → Subscription workflow: manages subscription
- Account API → Subscription workflow: dispatches billing routes
- Subscription workflow → Plans: reads plan
- Subscription workflow → User accounts: reads and updates user
- Subscription workflow → Coupon service: validates coupon
- Coupon service → Coupons: checks usage
- Subscription workflow → Coupons: reads and updates coupon
- Subscription workflow → Subscription service: checks subscription state
- Subscription workflow → Subscriptions: creates and updates
- Subscription workflow → Razorpay: creates and verifies billing
- Administrator → Admin console: uses console
- Admin console → Admin API client: requests admin data
- Admin API client → Admin API: calls admin endpoints
- Admin API → Admin operations: dispatches requests
- Admin operations → Admin accounts: authenticates admin
- Admin operations → User accounts: manages users
- Admin operations → Plans: manages plans
- Admin operations → Coupons: manages coupons
- Admin operations → Subscriptions: lists subscriptions
- HTTP application → Account API: mounts routes
- HTTP application → Interview API: mounts routes
- HTTP application → Admin API: mounts routes
- Database connection → Interview data: connects database