How sellva77/ats works
This is an AI-powered applicant tracking system: recruiters upload resumes, the system extracts and profiles candidates, indexes them for semantic retrieval, and supports candidate search and application-pipeline management. The graph combines the documented ingestion/search architecture with sampled route, controller, and service behavior. Several broader ATS features are visible in the client and BFF tree but their detailed wiring was not sampled, so those links are limited to the documented application boundary.
Main entry points: candidate.controller.ts Candidate workflows · app.ts BFF API · App.tsx ATS web app · routes.py AI service API
Components 18
Recruiter client
- ATS web app
client/src/App.tsx - Candidate workflows
client/src/pages/UploadPage.tsx - Candidate search
client/src/pages/SearchPage.tsx - Applications
client/src/pages/ApplicationsPage.tsx
API and recruiting
- BFF API
BFF/src/app.ts - Candidate workflows
BFF/src/controllers/candidate.controller.ts - Application API
BFF/src/controllers/application.controller.ts - Pipeline management
BFF/src/services/application.service.ts - Profile lookup
BFF/src/repositories/candidate-profile.repository.ts - Candidate ranking
BFF/src/ranking/ranking-engine.ts
AI processing
- AI service API
ai-service/api/routes.py - Resume profiling
ai-service/services/resume/pipeline.py - Index construction
ai-service/services/candidate/index_builder.py - Semantic retrieval
ai-service/services/candidate/search.py
Data stores
- PostgreSQL
BFF/src/config/prisma.ts - Resume objects
BFF/src/config/minio.ts - Vector index
ai-service/services/vector_store.py
Other components
- Recruiter
Connections 22
- Recruiter → ATS web app: uses
- ATS web app → Candidate workflows: opens
- ATS web app → Candidate search: opens
- ATS web app → Applications: opens
- Candidate workflows → BFF API: upload request
- Candidate search → BFF API: search request
- Applications → BFF API: pipeline requests
- BFF API → Candidate workflows: dispatches
- BFF API → Application API: dispatches
- Candidate workflows → Resume objects: stores resumes
- Candidate workflows → PostgreSQL: stores profiles
- Candidate workflows → AI service API: calls processing
- AI service API → Resume profiling: parses resume
- Resume profiling → Resume objects: downloads PDF
- AI service API → Index construction: builds index
- Index construction → Vector index: upserts vectors
- AI service API → Semantic retrieval: searches candidates
- Semantic retrieval → Vector index: queries vectors
- Candidate workflows → Profile lookup: loads profiles
- Candidate workflows → Candidate ranking: ranks results
- Application API → Pipeline management: manages pipeline
- Pipeline management → PostgreSQL: reads and writes