How vaibhvee012/interviewly-ai works
Interviewly AI guides candidates from account access and role/profile inputs to AI-generated interview reports and preparation materials. The frontend calls REST endpoints; backend controllers own authentication, report generation, retrieval, and resume-PDF actions. Report content is generated through the AI service and persisted as interview-report records. README capabilities include technical and behavioral questions, skill-gap analysis, match scoring, and a preparation roadmap. Edges reflect sampled routes/controllers and documented behavior; unsampled frontend screens and backend internals are represented only at supported paths.
Main entry points: app.js Express application · interview.routes.js Interview endpoints · interview.controller.js Report handlers · app.routes.jsx Page routing
Components 23
Candidate interface
- Web application
Frontend/src/main.jsx - Page routing
Frontend/src/app.routes.jsx - Sign in/up
Frontend/src/features/auth/pages - Auth actions
Frontend/src/features/auth/hooks/useAuth.js - Plan and report UI
Frontend/src/features/interview/pages - Interview actions
Frontend/src/features/interview/hooks/useInterview.js - Auth API client
Frontend/src/features/auth/services/auth.api.js - Interview API client
Frontend/src/features/interview/services/interview.api.js
Identity and access
- Auth endpoints
Backend/src/routes/auth.routes.js - Auth handlers
Backend/src/controllers/auth.controller.js - JWT middleware
Backend/src/middlewares/auth.middleware.js - User records
Backend/src/models/user.model.js - Token blacklist
Backend/src/models/blacklist.model.js
Interview planning
- Interview endpoints
Backend/src/routes/interview.routes.js - Report handlers
Backend/src/controllers/interview.controller.js - Resume upload
Backend/src/middlewares/file.middleware.js - AI generation
Backend/src/services/ai.service.js - Interview reports
Backend/src/models/interviewReport.model.js
API and persistence
- Express application
Backend/src/app.js - MongoDB connection
Backend/src/config/database.js
Other components
- Candidate
- Google Gemini
- PDF renderer
Connections 25
- Candidate → Web application: uses
- Web application → Page routing: renders
- Page routing → Sign in/up: routes to
- Page routing → Plan and report UI: routes to
- Sign in/up → Auth actions: invokes
- Auth actions → Auth API client: calls
- Plan and report UI → Interview actions: invokes
- Interview actions → Interview API client: calls
- Auth API client → Express application: REST requests
- Interview API client → Express application: REST requests
- Express application → Auth endpoints: mounts
- Express application → Interview endpoints: mounts
- Auth endpoints → Auth handlers: dispatches
- Auth endpoints → JWT middleware: protects
- Auth handlers → User records: reads/writes
- Auth handlers → Token blacklist: blacklists token
- Interview endpoints → JWT middleware: protects
- Interview endpoints → Resume upload: accepts resume
- Interview endpoints → Report handlers: dispatches
- Report handlers → AI generation: generates report
- Report handlers → Interview reports: reads/writes
- AI generation → Google Gemini: generates content
- AI generation → PDF renderer: renders PDF
- Report handlers → Candidate: returns report/PDF
- Express application → MongoDB connection: connects