In the C4 model, C3 diagrams illustrate how components within a container operate and interact. For the Job Candidate Management container, we focus on how job candidates submit resumes, request AI-based tips, and manage their data, integrating relevant architectural decisions (ADRs).
-
Asynchronous Integration
The interaction with external systems for AI-based features, such as resume tips, is handled asynchronously, as detailed in ADR-005. -
External LLMs Usage
The resume tips are generated by an external large language model (LLM), following guidelines set out in ADR-007. -
AI-Powered Resume Tips
Job candidates can request feedback through the AI Resume Tips Adapter, which provides suggestions for improving their resumes. Once the tips are returned, they are stored in the job candidate's record via the Resume Service.
- The Job candidate requests resume tips through the Job candidate API.
- The Job candidate API forwards the request to the Resume Service.
- The Resume Service interacts asynchronously with the AI Resume Tips Adapter, as specified in ADR-005.
- The AI Resume Tips Adapter sends the resume data to the external AI Resume Tips System, which uses an external LLM per ADR-007.
- The AI Resume Tips System processes the request and sends the tips back to the AI Resume Tips Adapter.
- The AI Resume Tips Adapter forwards the tips to the Resume Service.
- The Resume Service stores the tips in the Job Candidate Database for the job candidate to access later.
- The Job candidate submits their resume through the Job candidate API.
- The Job candidate API forwards the resume to the Resume Service.
- The Resume Service sends the resume to the Story Container for processing.
- The Story Container handles anonymization, ensuring the resume is processed without revealing personally identifiable information.
- The Job candidate can update or modify their information through the Job candidate API.
- The Job candidate API interacts with the Job candidate Service, which accesses and updates the Job Candidate Database.
- The Job candidate Service retrieves or stores the updated data in the Shared Database as needed.