# trestevoyce/capesonecct architecture

> Architecture diagram of the GitHub repository trestevoyce/capesonecct, 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/trestevoyce/capesonecct
- Repository: https://github.com/trestevoyce/capesonecct

## Overview

CAPESONECCT is a Django employment-services platform: applicants and employers use job-seeking and hiring services, while PESO administrators manage records and reporting; it also exposes read-only endpoints for employment-assistance programs. The tree and sampled code support the matching engine and PESO reporting internals, but the corresponding view wiring was not sampled, so those connections are not asserted. The README documents the program API capabilities; its implementation details are not sampled.

Main entry points: [`config/urls.py`](https://github.com/trestevoyce/capesonecct/blob/main/config/urls.py) (Django URL router), [`JobMatchingEngine/database.py`](https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/database.py) (Matching operations), [`AdminSide/views.py`](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/views.py) (PESO administration), [`AdminSide/service.py`](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/service.py) (Monthly PESO matrix)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web experience"]
  node_django["Django URL router<br/>[urls.py]"]
  node_landing["Landing pages<br/>[views.py]"]
end

subgraph group_employment["Employment services"]
  node_applicant_views["Applicant workflows<br/>[views.py]"]
  node_applicant_models[("Applicant records<br/>[models.py]")]
  node_employer_views["Employer workflows<br/>[views.py]"]
  node_employer_models[("Employer records<br/>[models.py]")]
  node_admin_views["PESO administration<br/>[views.py]"]
  node_admin_models[("PESO domain records<br/>[models.py]")]
  node_peso_reports["Monthly PESO matrix<br/>[service.py]"]
  node_pdf_reader["PDF reader<br/>[pdf_reader.py]"]
end

subgraph group_programs["Assistance programs"]
  node_mswd_views["Program API views<br/>[views.py]"]
  node_mswd_serializers["Program serializers<br/>[serializers.py]"]
  node_mswd_models[("Program records<br/>[models.py]")]
end

subgraph group_matching["Job matching"]
  node_matching_db["Matching operations<br/>[database.py]"]
  node_matching_config["Vector configuration<br/>[config.py]"]
  node_embedder["Text embedder<br/>[embedder.py]"]
end

node_applicant(("Applicant"))
node_employer(("Employer"))
node_peso(("PESO administrator"))
node_frontend(("API client"))
node_chroma[("Chroma vector store")]

node_applicant -->|"requests pages"| node_django
node_employer -->|"requests pages"| node_django
node_peso -->|"requests pages"| node_django
node_frontend -->|"GET program data"| node_django
node_django -->|"dispatches"| node_landing
node_django -->|"dispatches"| node_applicant_views
node_django -->|"dispatches"| node_employer_views
node_django -->|"dispatches"| node_admin_views
node_django -->|"dispatches"| node_mswd_views
node_mswd_views -->|"serializes"| node_mswd_serializers
node_mswd_serializers -->|"reads records"| node_mswd_models
node_admin_views -->|"generates matrix"| node_peso_reports
node_peso_reports -->|"queries records"| node_admin_models
node_matching_db -->|"uses configuration"| node_matching_config
node_matching_config -->|"configures embedding"| node_embedder
node_matching_db -->|"queries and updates"| node_chroma

click node_django "https://github.com/trestevoyce/capesonecct/blob/main/config/urls.py"
click node_landing "https://github.com/trestevoyce/capesonecct/blob/main/LandingPage/views.py"
click node_applicant_views "https://github.com/trestevoyce/capesonecct/blob/main/ApplicantSide/views.py"
click node_applicant_models "https://github.com/trestevoyce/capesonecct/blob/main/ApplicantSide/models.py"
click node_employer_views "https://github.com/trestevoyce/capesonecct/blob/main/EmployerSide/views.py"
click node_employer_models "https://github.com/trestevoyce/capesonecct/blob/main/EmployerSide/models.py"
click node_admin_views "https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/views.py"
click node_admin_models "https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/models.py"
click node_peso_reports "https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/service.py"
click node_pdf_reader "https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/services/pdf_reader.py"
click node_mswd_views "https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/views.py"
click node_mswd_serializers "https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/serializers.py"
click node_mswd_models "https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/models.py"
click node_matching_db "https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/database.py"
click node_matching_config "https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/config.py"
click node_embedder "https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/embedder.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_django,node_landing,node_frontend toneBlue
class node_applicant_views,node_applicant_models,node_employer_views,node_employer_models,node_admin_views,node_admin_models,node_peso_reports,node_pdf_reader,node_chroma toneAmber
class node_mswd_views,node_mswd_serializers,node_mswd_models toneMint
class node_matching_db,node_matching_config,node_embedder toneRose
class node_applicant,node_employer,node_peso toneIndigo
```

## Components

### Web experience

- [Django URL router](https://github.com/trestevoyce/capesonecct/blob/main/config/urls.py): `config/urls.py`
- [Landing pages](https://github.com/trestevoyce/capesonecct/blob/main/LandingPage/views.py): `LandingPage/views.py`

### Employment services

- [Applicant workflows](https://github.com/trestevoyce/capesonecct/blob/main/ApplicantSide/views.py): `ApplicantSide/views.py`
- [Applicant records](https://github.com/trestevoyce/capesonecct/blob/main/ApplicantSide/models.py): `ApplicantSide/models.py`
- [Employer workflows](https://github.com/trestevoyce/capesonecct/blob/main/EmployerSide/views.py): `EmployerSide/views.py`
- [Employer records](https://github.com/trestevoyce/capesonecct/blob/main/EmployerSide/models.py): `EmployerSide/models.py`
- [PESO administration](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/views.py): `AdminSide/views.py`
- [PESO domain records](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/models.py): `AdminSide/models.py`
- [Monthly PESO matrix](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/service.py): `AdminSide/service.py`
- [PDF reader](https://github.com/trestevoyce/capesonecct/blob/main/AdminSide/services/pdf_reader.py): `AdminSide/services/pdf_reader.py`

### Assistance programs

- [Program API views](https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/views.py): `MSWDAPI/views.py`
- [Program serializers](https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/serializers.py): `MSWDAPI/serializers.py`
- [Program records](https://github.com/trestevoyce/capesonecct/blob/main/MSWDAPI/models.py): `MSWDAPI/models.py`

### Job matching

- [Matching operations](https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/database.py): `JobMatchingEngine/database.py`
- [Vector configuration](https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/config.py): `JobMatchingEngine/config.py`
- [Text embedder](https://github.com/trestevoyce/capesonecct/blob/main/JobMatchingEngine/embedder.py): `JobMatchingEngine/embedder.py`

### Other components

- **Applicant**
- **Employer**
- **PESO administrator**
- **API client**
- **Chroma vector store**

## Connections

- Applicant → Django URL router: requests pages
- Employer → Django URL router: requests pages
- PESO administrator → Django URL router: requests pages
- API client → Django URL router: GET program data
- Django URL router → Landing pages: dispatches
- Django URL router → Applicant workflows: dispatches
- Django URL router → Employer workflows: dispatches
- Django URL router → PESO administration: dispatches
- Django URL router → Program API views: dispatches
- Program API views → Program serializers: serializes
- Program serializers → Program records: reads records
- PESO administration → Monthly PESO matrix: generates matrix
- Monthly PESO matrix → PESO domain records: queries records
- Matching operations → Vector configuration: uses configuration
- Vector configuration → Text embedder: configures embedding
- Matching operations → Chroma vector store: queries and updates
