# raghav-aggarwal-20/onboarding-document-checklist architecture

> Architecture diagram of the GitHub repository raghav-aggarwal-20/onboarding-document-checklist, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/raghav-aggarwal-20/onboarding-document-checklist
- Repository: https://github.com/raghav-aggarwal-20/onboarding-document-checklist

## Overview

This is a small Python onboarding-document checklist that turns an account’s submitted documents into a single staff action list and client message, displayed in a static HTML brief. The workflow is: provide account/document data, validate it, compare required document types and copies as of a review date, then render the outcome. The README also describes ID/expiry rules and three illustrative account scenarios. Sampled source supports the checklist and rendering calls; no external firm records or live client messaging integration are shown.

Main entry points: [`src/onboarding/explain.py`](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py) (Brief renderer), [`src/onboarding/checklist.py`](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py) (Document review), [`brief.html`](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/brief.html) (Checklist brief), [`src/onboarding/__init__.py`](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/__init__.py) (Checklist API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_rules["Checklist rules"]
  node_checklist_api["Checklist API<br/>[__init__.py]"]
  node_payload_validation["Payload validation<br/>[checklist.py]"]
  node_document_review["Document review<br/>[checklist.py]"]
  node_requirements["Account requirements<br/>[checklist.py]"]
end

subgraph group_content["Brief content"]
  node_scenario_data["Sample scenarios<br/>[stories.py]"]
  node_brief_renderer["Brief renderer<br/>[explain.py]"]
  node_staff_explanation["Staff instructions<br/>[explain.py]"]
  node_client_message["Client message<br/>[explain.py]"]
end

subgraph group_output["Rendered brief"]
  node_brief_page["Checklist brief<br/>[brief.html]"]
end

node_staff(("Onboarding staff"))

node_staff -->|"reads"| node_brief_page
node_checklist_api -->|"calls"| node_document_review
node_document_review -->|"validates"| node_payload_validation
node_document_review -->|"loads rules"| node_requirements
node_brief_renderer -->|"reads"| node_scenario_data
node_brief_renderer -->|"reviews payload"| node_document_review
node_brief_renderer -->|"formats result"| node_staff_explanation
node_brief_renderer -->|"formats result"| node_client_message
node_brief_renderer -->|"writes"| node_brief_page

click node_checklist_api "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/__init__.py"
click node_payload_validation "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py"
click node_document_review "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py"
click node_requirements "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py"
click node_scenario_data "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/stories.py"
click node_brief_renderer "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py"
click node_staff_explanation "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py"
click node_client_message "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py"
click node_brief_page "https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/brief.html"

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_checklist_api,node_payload_validation,node_document_review,node_requirements toneBlue
class node_scenario_data,node_brief_renderer,node_staff_explanation,node_client_message toneAmber
class node_brief_page toneMint
class node_staff toneIndigo
```

## Components

### Checklist rules

- [Checklist API](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/__init__.py): `src/onboarding/__init__.py`
- [Payload validation](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py): `src/onboarding/checklist.py`
- [Document review](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py): `src/onboarding/checklist.py`
- [Account requirements](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/checklist.py): `src/onboarding/checklist.py`

### Brief content

- [Sample scenarios](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/stories.py): `src/onboarding/stories.py`
- [Brief renderer](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py): `src/onboarding/explain.py`
- [Staff instructions](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py): `src/onboarding/explain.py`
- [Client message](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/src/onboarding/explain.py): `src/onboarding/explain.py`

### Rendered brief

- [Checklist brief](https://github.com/raghav-aggarwal-20/onboarding-document-checklist/blob/main/brief.html): `brief.html`

### Other components

- **Onboarding staff**

## Connections

- Onboarding staff → Checklist brief: reads
- Checklist API → Document review: calls
- Document review → Payload validation: validates
- Document review → Account requirements: loads rules
- Brief renderer → Sample scenarios: reads
- Brief renderer → Document review: reviews payload
- Brief renderer → Staff instructions: formats result
- Brief renderer → Client message: formats result
- Brief renderer → Checklist brief: writes
