How mahesh682462/ai-resume-analyzer works
AI Resume Analyzer is a web application for account-based PDF resume review. Users register or sign in, upload a resume, have its text extracted, request an AI analysis, and can view results and history. The backend routes requests through controllers, which coordinate PDF parsing, analysis, and persisted resume and analysis records. The tree and sampled source support these backend relationships; page-to-service wiring and some model internals were not sampled, so those links are omitted. The README is empty.
Main entry points: App.jsx React app · server.js API server · resumeRoutes.js Resume routes · resumeController.js Resume controller
Components 27
Web client
- React app
client/src/App.jsx - Auth pages
client/src/pages/Login.jsx - Dashboard
client/src/pages/Dashboard.jsx - Upload page
client/src/pages/Upload.jsx - Results page
client/src/pages/Results.jsx - History page
client/src/pages/History.jsx - Auth service
client/src/services/authService.js - Resume service
client/src/services/resumeService.js - HTTP client
client/src/services/api.js
API and access
- API server
server/server.js - Auth routes
server/routes/authRoutes.js - Resume routes
server/routes/resumeRoutes.js - Analysis routes
server/routes/analysisRoutes.js - JWT middleware
server/middleware/auth.js - Auth controller
server/controllers/authController.js
Resume workflow
- Resume controller
server/controllers/resumeController.js - Analysis controller
server/controllers/analysisController.js - File upload
server/middleware/upload.js - PDF text parser
server/services/pdfParser.js - Analysis service
server/services/analysisService.js
Data and AI
- DB connection
server/config/db.js - User records
server/models/User.js - Resume records
server/models/Resume.js - Analysis records
server/models/Analysis.js
Other components
- User
- Gemini AI
- MySQL
Connections 31
- User → React app: uses
- React app → Auth pages: routes to
- React app → Dashboard: routes to
- React app → Upload page: routes to
- React app → Results page: routes to
- React app → History page: routes to
- Auth service → HTTP client: sends requests
- Resume service → HTTP client: sends requests
- HTTP client → API server: calls API
- API server → Auth routes: dispatches
- API server → Resume routes: dispatches
- API server → Analysis routes: dispatches
- Auth routes → Auth controller: dispatches
- Auth routes → JWT middleware: protects profile
- Resume routes → JWT middleware: protects routes
- Resume routes → File upload: accepts upload
- Resume routes → Resume controller: dispatches
- Analysis routes → JWT middleware: protects routes
- Analysis routes → Analysis controller: dispatches
- Auth controller → User records: reads and writes
- Resume controller → Resume records: reads and writes
- Resume controller → Analysis records: deletes
- Resume controller → PDF text parser: extracts text
- Analysis controller → Resume records: checks and updates
- Analysis controller → Analysis records: reads and writes
- Analysis controller → Analysis service: requests analysis
- Analysis service → Gemini AI: generates analysis
- DB connection → MySQL: connects
- User records → MySQL: persists records
- Resume records → MySQL: persists records
- Analysis records → MySQL: persists records