How riyaz510/jd-match-analyzer works
JD Match Analyzer accepts job-description and resume text or PDFs, sends the inputs for an LLM comparison, and displays the structured result. The README also advertises MongoDB persistence, but the sampled request handler does not show a write; the schema and connection are shown without an inferred save relationship. The frontend’s request path and response handling are visible in sampled source.
Main entry points: Requests.js Request handler · Main.jsx Input form · routes.js Analyze route · app.js Express app
Components 12
Web interface
- Input form
Views/src/components/Main.jsx - App state
Views/src/App.jsx - Result display
Views/src/components/Result.jsx
Analysis API
- Express app
app.js - Analyze route
Routes/routes.js - Request handler
Controllers/Requests.js
Analysis services
- PDF extraction
Controllers/Requests.js - Match analysis
Models/Analyze.js
Persistence
- Mongo connection
DataBase/db.js - Analysis schema
Models/Analysis.js
Other components
- Applicant
- Groq API
Connections 11
- Applicant → Input form: enters inputs
- Input form → Analyze route: POST /analyze
- Express app → Analyze route: mounts routes
- Analyze route → Request handler: dispatches
- Request handler → PDF extraction: extracts PDFs
- Request handler → Match analysis: submits text
- Match analysis → Groq API: requests comparison
- Request handler → Input form: returns result
- Input form → App state: sets result
- App state → Result display: passes result
- Express app → Mongo connection: connects database