%%{init: {'theme':'base','themeVariables':{'primaryColor':'#FFF1E6','primaryTextColor':'#1a1a1a','primaryBorderColor':'#F77020','lineColor':'#F77020','secondaryColor':'#FFE4D1','tertiaryColor':'#ffffff','clusterBkg':'#FFF8F2','clusterBorder':'#F77020','fontFamily':'Inter','fontSize':'14px'},'flowchart':{'curve':'basis','htmlLabels':true}}}%%
flowchart TB
classDef trust fill:#F77020,stroke:#c4541a,stroke-width:2px,color:#ffffff
classDef action fill:#FFF1E6,stroke:#F77020,stroke-width:2px,color:#1a1a1a
classDef ai fill:#FFE4D1,stroke:#F77020,stroke-width:2px,color:#7a3a10
classDef user fill:#ffffff,stroke:#F77020,stroke-width:2px,color:#1a1a1a
classDef success fill:#F77020,stroke:#9c4214,stroke-width:3px,color:#ffffff
subgraph clientLayer [Client Layer - React.js]
Browser([Web Browser])
Mobile([Mobile Browser])
CareerUI[Career Portal UI]
AdminUI[Admin Dashboard UI]
Tailwind[Tailwind CSS]
Redux[Redux Store]
Axios[Axios HTTP Client]
Browser --> CareerUI
Browser --> AdminUI
Mobile --> CareerUI
CareerUI --> Tailwind
AdminUI --> Tailwind
CareerUI --> Redux
AdminUI --> Redux
Redux --> Axios
end
subgraph apiLayer [API Gateway - Express.js]
HTTPS[HTTPS Termination]
CORS[CORS & Rate Limiting]
JWT[JWT Authentication]
RoleMW[Role Middleware]
Validator[Request Validation]
Router[REST Router]
HTTPS --> CORS
CORS --> JWT
JWT --> RoleMW
RoleMW --> Validator
Validator --> Router
end
subgraph servicesLayer [Application Services - Node.js]
AuthSvc[Auth Service]
JobSvc[Jobs Service]
CandSvc[Candidates Service]
QSvc[Questionnaire Service]
AISvc[AI Scoring Service]
NotifSvc[Notification Service]
ReportSvc[Reports Service]
end
subgraph dataLayer [Data Layer]
Mongoose[Mongoose ODM]
MongoDB[(MongoDB Database)]
ObjectStore[(Object Storage — Resumes & Files)]
Cache[(Redis Cache — Optional)]
end
subgraph integrations [External Integrations]
SMTP[SMTP / SES Email]
OCRSvc[OCR Service]
Calendar[Calendar API]
end
subgraph infraLayer [Infrastructure & DevOps]
Docker[Docker Containers]
Compose[Docker Compose]
VPS[Cloud VPS Hosting]
CICD[CI / CD Pipeline]
EnvCfg[Environment Configuration]
Backup[Automated Backups]
Monitor[Monitoring & Logs]
end
Axios --> HTTPS
Router --> AuthSvc
Router --> JobSvc
Router --> CandSvc
Router --> QSvc
Router --> AISvc
Router --> NotifSvc
Router --> ReportSvc
AuthSvc --> Mongoose
JobSvc --> Mongoose
CandSvc --> Mongoose
QSvc --> Mongoose
ReportSvc --> Mongoose
Mongoose --> MongoDB
CandSvc --> ObjectStore
AISvc --> ObjectStore
AISvc --> OCRSvc
NotifSvc --> SMTP
JobSvc --> Calendar
AuthSvc --> Cache
JobSvc --> Cache
Docker --> servicesLayer
Compose --> Docker
VPS --> Compose
CICD --> Docker
EnvCfg --> Docker
Backup --> MongoDB
Backup --> ObjectStore
Monitor --> servicesLayer
class Browser,Mobile user
class CareerUI,AdminUI,Tailwind,Redux,Axios,HTTPS,CORS,JWT,RoleMW,Validator,Router,AuthSvc,JobSvc,CandSvc,QSvc,NotifSvc,ReportSvc,Mongoose,SMTP,Calendar,Docker,Compose,VPS,CICD,EnvCfg,Backup,Monitor action
class AISvc,OCRSvc ai
class MongoDB,ObjectStore,Cache trust