How jay4ignite/studyforge-ai works
StudyForge AI combines a React preparation workspace with a FastAPI backend. The main user journey is authenticated study and interview preparation: practice and coding tasks build performance history, AI interview sessions produce feedback and reports, and analytics/adaptive plans guide next steps. Separate capabilities support resume/ATS analysis, job discovery, and external coding-profile aggregation. The graph reflects documented features and visible wiring; several routes and integrations are represented at their exact directories because their implementation was not sampled.
Main entry points: router.py REST API · AppRoutes.tsx App routes · interview.py Interview workflow · axios.ts HTTP client
Components 27
Web application
- React application
frontend/src/main.tsx - App routes
frontend/src/app/AppRoutes.tsx - Auth state
frontend/src/app/AuthProvider.tsx - Practice loop
frontend/src/features/practice/PracticeLoop.tsx - Interview rooms
frontend/src/features/interviews/LiveInterviewRoom.tsx - Coding interview
frontend/src/features/interviews/CodingInterviewRoom.tsx - HTTP client
frontend/src/lib/axios.ts - WebSocket client
frontend/src/services/websocket/WebSocketClient.ts
API and identity
- REST API
backend/app/api/router.py - Interview socket route
backend/app/api/routes/interview_ws.py - Authentication
backend/app/api/deps.py
Learning and interviews
- Interview workflow
backend/app/api/routes/interview.py - AI interview engine
backend/app/services/ai_interview_engine.py - Voice and vision analysis
backend/app/services/voice_vision_analyzer.py - Practice and adaptive learning
backend/app/services/practice_service.py - Progress analytics
backend/app/api/routes/analytics.py - Learning roadmaps
backend/app/api/routes/roadmap.py - Coding practice
backend/app/api/routes/leetcode.py
Career intelligence
- Resume parsing
backend/app/services/resume_parser.py - ATS analysis
backend/app/services/ats_engine.py - Resume object storage
backend/app/services/r2_service.py - Job discovery
backend/app/services/jobs/jsearch_service.py - Coding profile aggregation
backend/app/services/coding_profile/aggregator_service.py
Runtime services
- NVIDIA NIM
backend/app/services/ai_interview_engine.py - PostgreSQL
backend/app/db/database.py - Runtime configuration
backend/app/core/config.py
Other components
- Candidate
Connections 35
- Candidate → React application: uses
frontend/src/main.tsx - React application → App routes: renders
frontend/src/main.tsx - App routes → Auth state: provides auth
frontend/src/app/AppRoutes.tsx - App routes → Practice loop: routes to
frontend/src/app/AppRoutes.tsx - App routes → Interview rooms: routes to
frontend/src/app/AppRoutes.tsx - App routes → Coding interview: routes to
frontend/src/app/AppRoutes.tsx - Auth state → HTTP client: fetches user
frontend/src/app/AuthProvider.tsx - Practice loop → HTTP client: requests data
frontend/src/features/practice/PracticeLoop.tsx - Interview rooms → HTTP client: requests data
frontend/src/features/interviews/LiveInterviewRoom.tsx - Interview rooms → WebSocket client: uses hook
frontend/src/features/interviews/LiveInterviewRoom.tsx - WebSocket client → Interview socket route: connects to
- HTTP client → REST API: calls API
- REST API → Authentication: uses dependencies
- REST API → Interview workflow: routes requests
backend/app/api/router.py - REST API → Practice and adaptive learning: routes requests
backend/app/api/router.py - REST API → Progress analytics: routes requests
backend/app/api/router.py - REST API → Learning roadmaps: routes requests
backend/app/api/router.py - REST API → Coding practice: routes requests
backend/app/api/router.py - REST API → ATS analysis: routes requests
backend/app/api/router.py - REST API → Job discovery: routes requests
backend/app/api/router.py - REST API → Coding profile aggregation: routes requests
backend/app/api/router.py - Interview workflow → AI interview engine: calls
backend/app/api/routes/interview.py - Interview workflow → Resume parsing: uses parser
backend/app/api/routes/interview.py - Interview workflow → Voice and vision analysis: uses analysis
backend/app/api/routes/interview.py - AI interview engine → NVIDIA NIM: sends prompts
backend/app/services/ai_interview_engine.py - ATS analysis → AI interview engine: requests recommendations
backend/app/services/ats_engine.py - ATS analysis → Resume parsing: analyzes parsed resume
- Coding profile aggregation → PostgreSQL: persists profiles
- Job discovery → Runtime configuration: reads settings
backend/app/services/jobs/jsearch_service.py - REST API → PostgreSQL: uses sessions
- Interview socket route → AI interview engine: streams interview
- Interview socket route → Authentication: authenticates socket
- Resume parsing → Resume object storage: stores uploads
- Practice and adaptive learning → Progress analytics: feeds progress
- Progress analytics → Learning roadmaps: informs plans