How prabhas-koppireddy/interviewprepai works
This is an interview-preparation web app: users sign in, create role- and topic-focused interview sessions, generate questions and answers, then review and manage session questions. The backend also generates explanations and supports question notes and pinning. The graph follows the sampled routing and controller code; frontend-to-API wiring is not shown because the relevant page and API-client implementations were not sampled, and the README is empty.
Main entry points: server.js HTTP server · App.jsx App router · aiController.js AI generation · authMiddleware.js JWT route guard
Components 25
Web application
- App router
frontend/interview-prep-ai/src/App.jsx - Landing page
frontend/interview-prep-ai/src/pages/LandingPage.jsx - Login and signup
frontend/interview-prep-ai/src/pages/Auth - Session dashboard
frontend/interview-prep-ai/src/pages/Home/Dashboard.jsx - Session creation
frontend/interview-prep-ai/src/pages/Home/CreateSessionForm.jsx - Interview prep
frontend/interview-prep-ai/src/pages/InterviewPrep/InterviewPrep.jsx - AI response display
frontend/interview-prep-ai/src/pages/InterviewPrep/components/AIResponsePreview.jsx - User context
frontend/interview-prep-ai/src/context/userContext.jsx
Backend API
- HTTP server
backend/server.js - Auth routes
backend/routes/authRoutes.js - Session routes
backend/routes/sessionRoutes.js - Question routes
backend/routes/questionRoutes.js - Authentication
backend/controllers/authController.js - JWT route guard
backend/middlewares/authMiddleware.js
Interview domain
- Session management
backend/controllers/sessionController.js - Question management
backend/controllers/questionController.js - AI generation
backend/controllers/aiController.js - Prompt templates
backend/utils/prompts.js
Persistence
- Database connection
backend/config/db.js - User records
backend/models/User.js - Session records
backend/models/Session.js - Question records
backend/models/Question.js
Other components
- User
- Google Gemini
- OpenAI-compatible API
Connections 26
- User → App router: uses
- App router → Landing page: routes to
- App router → Session dashboard: routes to
- App router → Interview prep: routes to
- App router → User context: wraps
- HTTP server → Auth routes: mounts
- HTTP server → Session routes: mounts
- HTTP server → Question routes: mounts
- HTTP server → AI generation: dispatches
- HTTP server → Database connection: connects
- Auth routes → Authentication: dispatches
- Auth routes → JWT route guard: guards profile
- Session routes → JWT route guard: guards
- Session routes → Session management: dispatches
- Question routes → JWT route guard: guards
- Question routes → Question management: dispatches
- Authentication → User records: reads/writes
- JWT route guard → User records: reads
- Session management → Session records: reads/writes
- Session management → Question records: creates/deletes
- Question management → Session records: reads/writes
- Question management → Question records: reads/writes
- AI generation → Prompt templates: builds prompts
- AI generation → Google Gemini: generates content
- AI generation → OpenAI-compatible API: generates content
- AI response display → Interview prep: renders content