# honey-singh716/ai-powered-resume-matching-job-aggregation-platform architecture

> Architecture diagram of the GitHub repository honey-singh716/ai-powered-resume-matching-job-aggregation-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform
- Repository: https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform

## Overview

AI Resume Matcher serves candidates and recruiters through a FastAPI-backed job marketplace. Candidates register, submit resumes for structured profile extraction and embedding, receive semantic recommendations, and apply; recruiters post jobs and review AI-ranked applicants or search talent. Job ingestion and career chat extend that workflow, while an admin interface provides operational oversight. The graph follows documented capabilities and indexed references; several route, scheduler, matching, and admin implementations were not excerpted, so uncertain links are omitted.

Main entry points: [`main.py`](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/main.py) (FastAPI app), [`route/resume_routes.py`](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/resume_routes.py) (Resume and profile API), [`services/job_service.py`](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/job_service.py) (Job and recommendations), [`database.py`](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/database.py) (Relational and vector store)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Product entrypoints"]
  node_frontend["SPA<br/>[app.js]"]
  node_server["FastAPI app<br/>[main.py]"]
end

subgraph group_identity["Identity and profiles"]
  node_auth_routes["Auth routes<br/>[auth_route.py]"]
  node_user_routes["User routes<br/>[user_route.py]"]
  node_auth_service["Authentication<br/>[auth_service.py]"]
  node_user_service["Account service<br/>[user_services.py]"]
  node_resume_routes["Resume and profile API<br/>[resume_routes.py]"]
  node_candidate_service["Candidate profiles"]
  node_profile_service["Profile management<br/>[profile_service.py]"]
end

subgraph group_matching["Jobs and matching"]
  node_embedding["Embedding engine"]
  node_job_routes["Job API<br/>[job_routes.py]"]
  node_job_service["Job and recommendations<br/>[job_service.py]"]
  node_fetch_service["Job aggregation"]
  node_match_routes["Matching API<br/>[match_routes.py]"]
  node_match_service["Match scoring<br/>[match_service.py]"]
end

subgraph group_engagement["Applications and AI"]
  node_ai_service["Resume parsing and chat<br/>[ai_service.py]"]
  node_application_routes["Application API"]
  node_application_service["Application handling"]
  node_chat_routes["Career chat API<br/>[ai_routes.py]"]
end

subgraph group_operations["Platform operations"]
  node_admin_api["Admin API<br/>[admin_routes.py]"]
  node_admin_services["Admin services"]
  node_candidate_repo["Candidate repository<br/>[candidate_repo.py]"]
  node_job_repo["Job repository<br/>[job_repo.py]"]
  node_user_repo["User repository<br/>[user_repo_ext.py]"]
  node_application_repo["Application repository"]
  node_database[("Relational and vector store<br/>[database.py]")]
  node_redis[("Recommendation cache<br/>[redis_service.py]")]
end

node_candidate(("Candidate"))
node_recruiter(("Recruiter"))
node_admin_actor(("Administrator"))
node_groq{{"Groq LLM"}}
node_job_sources{{"Job source APIs"}}

node_candidate -->|"uses"| node_frontend
node_recruiter -->|"uses"| node_frontend
node_admin_actor -->|"uses"| node_frontend
node_frontend -->|"calls REST"| node_server
node_server -->|"registers"| node_auth_routes
node_server -->|"registers"| node_user_routes
node_server -->|"registers"| node_resume_routes
node_server -->|"registers"| node_job_routes
node_server -->|"registers"| node_match_routes
node_server -->|"registers"| node_application_routes
node_server -->|"registers"| node_chat_routes
node_server -->|"registers"| node_admin_api
node_auth_routes -.->|"authenticates"| node_auth_service
node_user_routes -.->|"delegates"| node_user_service
node_user_service -->|"uses"| node_auth_service
node_auth_service -->|"looks up users"| node_user_repo
node_resume_routes -->|"authenticates"| node_auth_service
node_resume_routes -->|"parses resume"| node_ai_service
node_resume_routes -->|"saves profile"| node_candidate_service
node_resume_routes -->|"updates profile"| node_profile_service
node_resume_routes -->|"searches candidates"| node_candidate_repo
node_candidate_service -.->|"generates vectors"| node_embedding
node_candidate_service -.->|"persists profile"| node_candidate_repo
node_profile_service -->|"accesses candidates"| node_candidate_repo
node_job_routes -->|"delegates"| node_job_service
node_job_service -->|"queries jobs"| node_job_repo
node_job_service -->|"loads candidates"| node_candidate_repo
node_job_service -->|"generates scores"| node_embedding
node_job_service -->|"caches results"| node_redis
node_fetch_service -->|"stores aggregated jobs"| node_job_repo
node_fetch_service -->|"embeds jobs"| node_embedding
node_job_sources -.->|"provides listings"| node_fetch_service
node_match_routes -.->|"delegates"| node_match_service
node_match_service -.->|"scores similarity"| node_embedding
node_application_routes -->|"delegates"| node_application_service
node_application_routes -->|"authenticates"| node_auth_service
node_application_service -.->|"manages applications"| node_application_repo
node_chat_routes -->|"requests chat"| node_ai_service
node_ai_service -.->|"calls LLM"| node_groq
node_admin_api -->|"dispatches"| node_admin_services
node_admin_services -.->|"queries records"| node_database
node_database -->|"backs persistence"| node_candidate_repo
node_database -->|"backs persistence"| node_job_repo
node_database -->|"backs persistence"| node_user_repo
node_database -.->|"backs persistence"| node_application_repo

click node_frontend "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/frontend/app.js"
click node_server "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/main.py"
click node_auth_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/auth_route.py"
click node_user_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/user_route.py"
click node_auth_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/auth_service.py"
click node_user_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/user_services.py"
click node_resume_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/resume_routes.py"
click node_ai_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/ai_service.py"
click node_candidate_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/candidate_service.py"
click node_profile_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/profile_service.py"
click node_embedding "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/embedding_service.py"
click node_job_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/job_routes.py"
click node_job_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/job_service.py"
click node_fetch_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/job_fetch_service.py"
click node_match_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/match_routes.py"
click node_match_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/match_service.py"
click node_application_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/application_routes.py"
click node_application_service "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/application_service.py"
click node_chat_routes "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/ai_routes.py"
click node_admin_api "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/admin/routes/admin_routes.py"
click node_admin_services "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/tree/main/admin/services"
click node_candidate_repo "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/candidate_repo.py"
click node_job_repo "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/job_repo.py"
click node_user_repo "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/user_repo_ext.py"
click node_application_repo "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/application_repo.py"
click node_database "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/database.py"
click node_redis "https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/redis_service.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_frontend,node_server toneBlue
class node_auth_routes,node_user_routes,node_auth_service,node_user_service,node_resume_routes,node_candidate_service,node_profile_service toneAmber
class node_embedding,node_job_routes,node_job_service,node_fetch_service,node_match_routes,node_match_service,node_job_sources toneMint
class node_ai_service,node_application_routes,node_application_service,node_chat_routes toneRose
class node_admin_api,node_admin_services,node_candidate_repo,node_job_repo,node_user_repo,node_application_repo,node_database,node_redis,node_candidate,node_recruiter,node_admin_actor,node_groq toneIndigo
```

## Components

### Product entrypoints

- [SPA](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/frontend/app.js): `frontend/app.js`
- [FastAPI app](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/main.py): `main.py`

### Identity and profiles

- [Auth routes](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/auth_route.py): `route/auth_route.py`
- [User routes](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/user_route.py): `route/user_route.py`
- [Authentication](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/auth_service.py): `services/auth_service.py`
- [Account service](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/user_services.py): `services/user_services.py`
- [Resume and profile API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/resume_routes.py): `route/resume_routes.py`
- [Candidate profiles](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/candidate_service.py): `services/candidate_service.py`
- [Profile management](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/profile_service.py): `services/profile_service.py`

### Jobs and matching

- [Embedding engine](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/embedding_service.py): `services/embedding_service.py`
- [Job API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/job_routes.py): `route/job_routes.py`
- [Job and recommendations](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/job_service.py): `services/job_service.py`
- [Job aggregation](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/job_fetch_service.py): `services/job_fetch_service.py`
- [Matching API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/match_routes.py): `route/match_routes.py`
- [Match scoring](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/match_service.py): `services/match_service.py`

### Applications and AI

- [Resume parsing and chat](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/ai_service.py): `services/ai_service.py`
- [Application API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/application_routes.py): `route/application_routes.py`
- [Application handling](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/application_service.py): `services/application_service.py`
- [Career chat API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/route/ai_routes.py): `route/ai_routes.py`

### Platform operations

- [Admin API](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/admin/routes/admin_routes.py): `admin/routes/admin_routes.py`
- [Admin services](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/tree/main/admin/services): `admin/services`
- [Candidate repository](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/candidate_repo.py): `repositories/candidate_repo.py`
- [Job repository](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/job_repo.py): `repositories/job_repo.py`
- [User repository](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/user_repo_ext.py): `repositories/user_repo_ext.py`
- [Application repository](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/repositories/application_repo.py): `repositories/application_repo.py`
- [Relational and vector store](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/database.py): `database.py`
- [Recommendation cache](https://github.com/honey-singh716/ai-powered-resume-matching-job-aggregation-platform/blob/main/services/redis_service.py): `services/redis_service.py`

### Other components

- **Candidate**
- **Recruiter**
- **Administrator**
- **Groq LLM**
- **Job source APIs**

## Connections

- Candidate → SPA: uses
- Recruiter → SPA: uses
- Administrator → SPA: uses
- SPA → FastAPI app: calls REST
- FastAPI app → Auth routes: registers (evidence: `main.py`)
- FastAPI app → User routes: registers (evidence: `main.py`)
- FastAPI app → Resume and profile API: registers (evidence: `main.py`)
- FastAPI app → Job API: registers (evidence: `main.py`)
- FastAPI app → Matching API: registers (evidence: `main.py`)
- FastAPI app → Application API: registers (evidence: `main.py`)
- FastAPI app → Career chat API: registers (evidence: `main.py`)
- FastAPI app → Admin API: registers (evidence: `main.py`)
- Auth routes → Authentication: authenticates
- User routes → Account service: delegates
- Account service → Authentication: uses (evidence: `services/user_services.py`)
- Authentication → User repository: looks up users (evidence: `services/auth_service.py`)
- Resume and profile API → Authentication: authenticates (evidence: `route/resume_routes.py`)
- Resume and profile API → Resume parsing and chat: parses resume (evidence: `route/resume_routes.py`)
- Resume and profile API → Candidate profiles: saves profile (evidence: `route/resume_routes.py`)
- Resume and profile API → Profile management: updates profile (evidence: `route/resume_routes.py`)
- Resume and profile API → Candidate repository: searches candidates (evidence: `route/resume_routes.py`)
- Candidate profiles → Embedding engine: generates vectors
- Candidate profiles → Candidate repository: persists profile
- Profile management → Candidate repository: accesses candidates (evidence: `services/profile_service.py`)
- Job API → Job and recommendations: delegates (evidence: `route/job_routes.py`)
- Job and recommendations → Job repository: queries jobs (evidence: `services/job_service.py`)
- Job and recommendations → Candidate repository: loads candidates (evidence: `services/job_service.py`)
- Job and recommendations → Embedding engine: generates scores (evidence: `services/job_service.py`)
- Job and recommendations → Recommendation cache: caches results (evidence: `services/job_service.py`)
- Job aggregation → Job repository: stores aggregated jobs (evidence: `services/job_fetch_service.py`)
- Job aggregation → Embedding engine: embeds jobs (evidence: `services/job_fetch_service.py`)
- Job source APIs → Job aggregation: provides listings
- Matching API → Match scoring: delegates (evidence: `route/match_routes.py`)
- Match scoring → Embedding engine: scores similarity
- Application API → Application handling: delegates (evidence: `route/application_routes.py`)
- Application API → Authentication: authenticates (evidence: `route/application_routes.py`)
- Application handling → Application repository: manages applications
- Career chat API → Resume parsing and chat: requests chat (evidence: `route/ai_routes.py`)
- Resume parsing and chat → Groq LLM: calls LLM
- Admin API → Admin services: dispatches (evidence: `admin/routes/admin_routes.py`)
- Admin services → Relational and vector store: queries records
- Relational and vector store → Candidate repository: backs persistence (evidence: `repositories/candidate_repo.py`)
- Relational and vector store → Job repository: backs persistence (evidence: `repositories/job_repo.py`)
- Relational and vector store → User repository: backs persistence (evidence: `repositories/user_repo_ext.py`)
- Relational and vector store → Application repository: backs persistence
