# nextgemtechnology/hiremind-ai architecture

> Architecture diagram of the GitHub repository nextgemtechnology/hiremind-ai, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nextgemtechnology/hiremind-ai
- Repository: https://github.com/nextgemtechnology/hiremind-ai

## Overview

HireMind AI is a recruitment and talent-management platform serving candidates, recruiters, and platform administrators. Its documented candidate journey runs from account registration and profile/resume setup through job discovery, recommendations, applications, pipeline tracking, and recruiter chat; recruiters create jobs, review applicants, and schedule interviews. The graph also preserves AI assistance, administrative governance, and platform services. The README describes the overall backend layering and workflow; sampled source confirms service contracts, but does not show most controller-to-service wiring, so uncertain links are omitted.

Main entry points: [`backend/talentiq-backend/src/main/java/com/talentiq/controller/auth/AuthController.java`](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/auth/AuthController.java) (Authentication API), [`backend/talentiq-backend/src/main/java/com/talentiq/service/resume/ResumeParserService.java`](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/resume/ResumeParserService.java) (Resume processing), [`backend/talentiq-backend/src/main/java/com/talentiq/controller/application/JobApplicationController.java`](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/application/JobApplicationController.java) (Applications), [`backend/talentiq-backend/src/main/java/com/talentiq/controller/notification/NotificationController.java`](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/notification/NotificationController.java) (Notifications)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_identity["Identity &amp; Access"]
  node_auth_api["Authentication API"]
  node_auth_service["Authentication service<br/>[AuthService.java]"]
  node_user_store[("User records")]
end

subgraph group_talent["Talent &amp; Jobs"]
  node_candidate_profile["Candidate profile"]
  node_resume["Resume processing"]
  node_resume_store[("Resume records")]
  node_file_storage["File storage"]
  node_job_api["Job discovery<br/>[JobController.java]"]
  node_recommendations["Job recommendations"]
  node_jobs_store[("Job records<br/>[JobRepository.java]")]
end

subgraph group_hiring["Hiring Workflow"]
  node_application_api["Applications"]
  node_application_store[("Application records")]
  node_interviews["Interview scheduling"]
  node_hr_jobs["Recruiter job management<br/>[HrController.java]"]
end

subgraph group_engagement["AI &amp; Engagement"]
  node_ai_copilot["AI career copilot"]
  node_chat["Real-time chat"]
end

subgraph group_operations["Governance &amp; Platform"]
  node_admin_portals["Admin governance"]
  node_admin_sessions["Admin sessions"]
  node_analytics["Analytics"]
  node_notifications["Notifications"]
  node_mysql[("MySQL")]
end

node_candidate(("Candidate"))
node_recruiter(("HR recruiter"))
node_admin(("Platform admin"))
node_ai_provider{{"AI model provider"}}

node_candidate -->|"register / login"| node_auth_api
node_recruiter -->|"register / login"| node_auth_api
node_admin -->|"admin login"| node_auth_api
node_auth_api -->|"dispatches auth"| node_auth_service
node_auth_service -->|"user records"| node_user_store
node_candidate -->|"build profile"| node_candidate_profile
node_candidate -->|"submit resume"| node_resume
node_resume -->|"parse and update"| node_resume_store
node_resume -.->|"extract with LLM"| node_ai_provider
node_candidate -->|"upload files"| node_file_storage
node_candidate -->|"search jobs"| node_job_api
node_job_api -->|"job listings"| node_jobs_store
node_candidate -->|"view matches"| node_recommendations
node_candidate -->|"apply"| node_application_api
node_application_api -->|"track pipeline"| node_application_store
node_recruiter -->|"post jobs"| node_hr_jobs
node_recruiter -->|"review applicants"| node_application_api
node_recruiter -->|"schedule interviews"| node_interviews
node_candidate -->|"career assistance"| node_ai_copilot
node_ai_copilot -.->|"generate responses"| node_ai_provider
node_candidate -->|"message recruiter"| node_chat
node_recruiter -->|"message candidates"| node_chat
node_admin -->|"govern platform"| node_admin_portals
node_admin_portals -->|"manage sessions"| node_admin_sessions
node_admin -->|"inspect metrics"| node_analytics
node_notifications -->|"deliver updates"| node_candidate
node_notifications -->|"deliver updates"| node_recruiter
node_candidate_profile -->|"persist talent data"| node_mysql
node_resume_store -->|"persist resume data"| node_mysql
node_application_store -->|"persist applications"| node_mysql
node_jobs_store -->|"persist listings"| node_mysql

click node_auth_api "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/auth/AuthController.java"
click node_auth_service "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/auth/AuthService.java"
click node_user_store "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/user/UserRepository.java"
click node_candidate_profile "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/candidate/CandidateController.java"
click node_resume "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/resume/ResumeParserService.java"
click node_resume_store "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/resume/ResumeRepository.java"
click node_file_storage "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/infrastructure/storage/FileStorageService.java"
click node_job_api "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/job/JobController.java"
click node_recommendations "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/recommendation/RecommendationController.java"
click node_jobs_store "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/job/JobRepository.java"
click node_application_api "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/application/JobApplicationController.java"
click node_application_store "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/application/JobApplicationRepository.java"
click node_interviews "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/interview/InterviewController.java"
click node_hr_jobs "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/hr/HrController.java"
click node_ai_copilot "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/ai/service/CareerAgentService.java"
click node_chat "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/chat/ChatController.java"
click node_admin_portals "https://github.com/nextgemtechnology/hiremind-ai/tree/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/admin"
click node_admin_sessions "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/admin/AdminSessionService.java"
click node_analytics "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/analytics/AnalyticsController.java"
click node_notifications "https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/notification/NotificationController.java"

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_auth_api,node_auth_service,node_user_store toneBlue
class node_candidate_profile,node_resume,node_resume_store,node_file_storage,node_job_api,node_recommendations,node_jobs_store toneAmber
class node_application_api,node_application_store,node_interviews,node_hr_jobs toneMint
class node_ai_copilot,node_chat toneRose
class node_admin_portals,node_admin_sessions,node_analytics,node_notifications,node_mysql,node_candidate,node_recruiter,node_admin,node_ai_provider toneIndigo
```

## Components

### Identity & Access

- [Authentication API](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/auth/AuthController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/auth/AuthController.java`
- [Authentication service](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/auth/AuthService.java): `backend/talentiq-backend/src/main/java/com/talentiq/service/auth/AuthService.java`
- [User records](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/user/UserRepository.java): `backend/talentiq-backend/src/main/java/com/talentiq/repository/user/UserRepository.java`

### Talent & Jobs

- [Candidate profile](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/candidate/CandidateController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/candidate/CandidateController.java`
- [Resume processing](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/resume/ResumeParserService.java): `backend/talentiq-backend/src/main/java/com/talentiq/service/resume/ResumeParserService.java`
- [Resume records](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/resume/ResumeRepository.java): `backend/talentiq-backend/src/main/java/com/talentiq/repository/resume/ResumeRepository.java`
- [File storage](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/infrastructure/storage/FileStorageService.java): `backend/talentiq-backend/src/main/java/com/talentiq/infrastructure/storage/FileStorageService.java`
- [Job discovery](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/job/JobController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/job/JobController.java`
- [Job recommendations](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/recommendation/RecommendationController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/recommendation/RecommendationController.java`
- [Job records](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/job/JobRepository.java): `backend/talentiq-backend/src/main/java/com/talentiq/repository/job/JobRepository.java`

### Hiring Workflow

- [Applications](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/application/JobApplicationController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/application/JobApplicationController.java`
- [Application records](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/repository/application/JobApplicationRepository.java): `backend/talentiq-backend/src/main/java/com/talentiq/repository/application/JobApplicationRepository.java`
- [Interview scheduling](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/interview/InterviewController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/interview/InterviewController.java`
- [Recruiter job management](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/hr/HrController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/hr/HrController.java`

### AI & Engagement

- [AI career copilot](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/ai/service/CareerAgentService.java): `backend/talentiq-backend/src/main/java/com/talentiq/ai/service/CareerAgentService.java`
- [Real-time chat](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/chat/ChatController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/chat/ChatController.java`

### Governance & Platform

- [Admin governance](https://github.com/nextgemtechnology/hiremind-ai/tree/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/admin): `backend/talentiq-backend/src/main/java/com/talentiq/controller/admin`
- [Admin sessions](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/service/admin/AdminSessionService.java): `backend/talentiq-backend/src/main/java/com/talentiq/service/admin/AdminSessionService.java`
- [Analytics](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/analytics/AnalyticsController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/analytics/AnalyticsController.java`
- [Notifications](https://github.com/nextgemtechnology/hiremind-ai/blob/main/backend/talentiq-backend/src/main/java/com/talentiq/controller/notification/NotificationController.java): `backend/talentiq-backend/src/main/java/com/talentiq/controller/notification/NotificationController.java`
- **MySQL**

### Other components

- **Candidate**
- **HR recruiter**
- **Platform admin**
- **AI model provider**

## Connections

- Candidate → Authentication API: register / login
- HR recruiter → Authentication API: register / login
- Platform admin → Authentication API: admin login
- Authentication API → Authentication service: dispatches auth
- Authentication service → User records: user records
- Candidate → Candidate profile: build profile
- Candidate → Resume processing: submit resume
- Resume processing → Resume records: parse and update
- Resume processing → AI model provider: extract with LLM
- Candidate → File storage: upload files
- Candidate → Job discovery: search jobs
- Job discovery → Job records: job listings
- Candidate → Job recommendations: view matches
- Candidate → Applications: apply
- Applications → Application records: track pipeline
- HR recruiter → Recruiter job management: post jobs
- HR recruiter → Applications: review applicants
- HR recruiter → Interview scheduling: schedule interviews
- Candidate → AI career copilot: career assistance
- AI career copilot → AI model provider: generate responses
- Candidate → Real-time chat: message recruiter
- HR recruiter → Real-time chat: message candidates
- Platform admin → Admin governance: govern platform
- Admin governance → Admin sessions: manage sessions
- Platform admin → Analytics: inspect metrics
- Notifications → Candidate: deliver updates
- Notifications → HR recruiter: deliver updates
- Candidate profile → MySQL: persist talent data
- Resume records → MySQL: persist resume data
- Application records → MySQL: persist applications
- Job records → MySQL: persist listings
