How abhi07jith10/resume-screener- works
This is a recruiter-facing resume-screening and interview-scheduling platform. Recruiters manage candidates and jobs, upload PDF resumes for text extraction, create applications that are scored against job descriptions, review ranked results, and propose interview slots. The React pages call the FastAPI API through a shared Axios client; the API coordinates persistence, PDF extraction, scoring, and scheduling. The README documents JWT authentication and explainable skill matching; source excerpts show the auth and scoring integrations, but not every frontend or API detail.
Main entry points: main.py API routes · App.jsx App routing · axios.js API client · auth.py JWT authentication
Components 16
Recruiter interface
- App routing
frontend/src/App.jsx - Candidates
frontend/src/pages/Candidates.jsx - Jobs
frontend/src/pages/Jobs.jsx - Applications
frontend/src/pages/Applications.jsx - API client
frontend/src/api/axios.js - Home
frontend/src/pages/Home.jsx
Recruitment API
- API routes
backend/main.py - API schemas
backend/schemas.py - PDF extraction
backend/main.py
AI and identity
- Resume scoring
backend/llm_service.py - JWT authentication
backend/auth.py
Persistence
- Domain models
backend/models/models.py - DB sessions
backend/database.py
Other components
- Recruiter
- Groq LLM
- PostgreSQL
Connections 19
- Recruiter → App routing: uses
- App routing → Candidates: routes
- App routing → Jobs: routes
- App routing → Applications: routes
- App routing → Home: routes
- Candidates → API client: requests
- Jobs → API client: requests
- Applications → API client: requests
- API client → API routes: HTTP requests
- API routes → API schemas: validates and shapes
- API routes → PDF extraction: extracts PDF text
- API routes → Resume scoring: scores resumes
- Resume scoring → Groq LLM: prompts model
- API routes → JWT authentication: auth operations
- API routes → DB sessions: uses sessions
- API routes → Domain models: queries and writes
- JWT authentication → DB sessions: loads user
- JWT authentication → Domain models: queries user
- DB sessions → PostgreSQL: connects