# sustik78/sih_26188_2026 architecture

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

- Interactive diagram: https://gitdiagram.com/sustik78/sih_26188_2026
- Repository: https://github.com/sustik78/sih_26188_2026

## Overview

SATYA AI is a browser-based immigration document-screening decision-support demo. Officers start from a command dashboard or choose a benchmark case, inspect screening evidence and risk results in the studio, then review a statutory dossier or revisit records and operational views. The README describes an eight-stage screening pipeline and broader operational capabilities; sampled source shows pre-calibrated records and UI presentation, not implementation of the underlying OCR, forensic, biometric, or cryptographic processing. Records are held in App state; no persistent backend is evidenced.

Main entry points: [`src/App.tsx`](https://github.com/sustik78/sih_26188_2026/blob/main/src/App.tsx) (App State and Routing), [`src/views/ScreeningStudioView.tsx`](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx) (Screening Studio), [`src/views/DashboardView.tsx`](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/DashboardView.tsx) (Command Dashboard), [`src/components/StatutoryReportModal.tsx`](https://github.com/sustik78/sih_26188_2026/blob/main/src/components/StatutoryReportModal.tsx) (Statutory Report)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["Application Shell"]
  node_app["App State and Routing<br/>[App.tsx]"]
  node_header["Accessibility and Officer Controls<br/>[Header.tsx]"]
  node_sidebar["Navigation<br/>[Sidebar.tsx]"]
end

subgraph group_screening["Screening Workflow"]
  node_studio["Screening Studio"]
  node_upload["Document Intake"]
  node_image["Image Processing"]
  node_ocr["OCR Extraction"]
  node_validation["Document Validation"]
  node_forensics["Tampering Forensics"]
  node_biometrics["Face Verification"]
  node_risk["Risk Assessment"]
end

subgraph group_operations["Operational Views"]
  node_dashboard["Command Dashboard<br/>[DashboardView.tsx]"]
  node_queue["Verification Queue"]
  node_repository["Document Repository"]
  node_rules["Risk Rules<br/>[RiskRulesView.tsx]"]
  node_audit["Audit Trail<br/>[AuditTrailView.tsx]"]
  node_analytics["Analytics<br/>[AnalyticsView.tsx]"]
  node_settings["Settings<br/>[SettingsView.tsx]"]
end

subgraph group_evidence["Evidence and Reports"]
  node_benchmark["Benchmark Records<br/>[mockData.ts]"]
  node_report["Statutory Report"]
  node_types["Screening Record Model<br/>[index.ts]"]
end

node_officer(("Border Officer"))

node_officer -->|"uses"| node_app
node_app -->|"renders"| node_header
node_app -->|"renders"| node_sidebar
node_app -->|"dispatches"| node_dashboard
node_app -->|"dispatches"| node_studio
node_app -->|"dispatches"| node_queue
node_app -->|"dispatches"| node_repository
node_app -->|"dispatches"| node_rules
node_app -->|"dispatches"| node_audit
node_app -->|"dispatches"| node_analytics
node_app -->|"dispatches"| node_settings
node_app -->|"renders"| node_report
node_benchmark -->|"seeds records"| node_app
node_app -->|"passes records"| node_dashboard
node_app -->|"passes records"| node_audit
node_app -->|"passes selected record"| node_report
node_app -->|"selects case"| node_studio
node_officer -->|"inspects screening"| node_studio
node_officer -->|"reviews activity"| node_dashboard
node_officer -->|"searches records"| node_repository
node_officer -->|"triages cases"| node_queue
node_officer -->|"reviews dossier"| node_report
node_types -->|"structures records"| node_benchmark

click node_app "https://github.com/sustik78/sih_26188_2026/blob/main/src/App.tsx"
click node_header "https://github.com/sustik78/sih_26188_2026/blob/main/src/components/Header.tsx"
click node_sidebar "https://github.com/sustik78/sih_26188_2026/blob/main/src/components/Sidebar.tsx"
click node_dashboard "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/DashboardView.tsx"
click node_studio "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_upload "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_image "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_ocr "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_validation "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_forensics "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_biometrics "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_risk "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx"
click node_queue "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/VerificationQueueView.tsx"
click node_repository "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/DocumentRepositoryView.tsx"
click node_rules "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/RiskRulesView.tsx"
click node_audit "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/AuditTrailView.tsx"
click node_analytics "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/AnalyticsView.tsx"
click node_settings "https://github.com/sustik78/sih_26188_2026/blob/main/src/views/SettingsView.tsx"
click node_benchmark "https://github.com/sustik78/sih_26188_2026/blob/main/src/data/mockData.ts"
click node_report "https://github.com/sustik78/sih_26188_2026/blob/main/src/components/StatutoryReportModal.tsx"
click node_types "https://github.com/sustik78/sih_26188_2026/blob/main/src/types/index.ts"

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_app,node_header,node_sidebar toneBlue
class node_studio,node_upload,node_image,node_ocr,node_validation,node_forensics,node_biometrics,node_risk toneAmber
class node_dashboard,node_queue,node_repository,node_rules,node_audit,node_analytics,node_settings toneMint
class node_benchmark,node_report,node_types toneRose
class node_officer toneIndigo
```

## Components

### Application Shell

- [App State and Routing](https://github.com/sustik78/sih_26188_2026/blob/main/src/App.tsx): `src/App.tsx`
- [Accessibility and Officer Controls](https://github.com/sustik78/sih_26188_2026/blob/main/src/components/Header.tsx): `src/components/Header.tsx`
- [Navigation](https://github.com/sustik78/sih_26188_2026/blob/main/src/components/Sidebar.tsx): `src/components/Sidebar.tsx`

### Screening Workflow

- [Screening Studio](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Document Intake](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Image Processing](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [OCR Extraction](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Document Validation](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Tampering Forensics](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Face Verification](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`
- [Risk Assessment](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/ScreeningStudioView.tsx): `src/views/ScreeningStudioView.tsx`

### Operational Views

- [Command Dashboard](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/DashboardView.tsx): `src/views/DashboardView.tsx`
- [Verification Queue](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/VerificationQueueView.tsx): `src/views/VerificationQueueView.tsx`
- [Document Repository](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/DocumentRepositoryView.tsx): `src/views/DocumentRepositoryView.tsx`
- [Risk Rules](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/RiskRulesView.tsx): `src/views/RiskRulesView.tsx`
- [Audit Trail](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/AuditTrailView.tsx): `src/views/AuditTrailView.tsx`
- [Analytics](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/AnalyticsView.tsx): `src/views/AnalyticsView.tsx`
- [Settings](https://github.com/sustik78/sih_26188_2026/blob/main/src/views/SettingsView.tsx): `src/views/SettingsView.tsx`

### Evidence and Reports

- [Benchmark Records](https://github.com/sustik78/sih_26188_2026/blob/main/src/data/mockData.ts): `src/data/mockData.ts`
- [Statutory Report](https://github.com/sustik78/sih_26188_2026/blob/main/src/components/StatutoryReportModal.tsx): `src/components/StatutoryReportModal.tsx`
- [Screening Record Model](https://github.com/sustik78/sih_26188_2026/blob/main/src/types/index.ts): `src/types/index.ts`

### Other components

- **Border Officer**

## Connections

- Border Officer → App State and Routing: uses
- App State and Routing → Accessibility and Officer Controls: renders
- App State and Routing → Navigation: renders
- App State and Routing → Command Dashboard: dispatches
- App State and Routing → Screening Studio: dispatches
- App State and Routing → Verification Queue: dispatches
- App State and Routing → Document Repository: dispatches
- App State and Routing → Risk Rules: dispatches
- App State and Routing → Audit Trail: dispatches
- App State and Routing → Analytics: dispatches
- App State and Routing → Settings: dispatches
- App State and Routing → Statutory Report: renders
- Benchmark Records → App State and Routing: seeds records
- App State and Routing → Command Dashboard: passes records
- App State and Routing → Audit Trail: passes records
- App State and Routing → Statutory Report: passes selected record
- App State and Routing → Screening Studio: selects case
- Border Officer → Screening Studio: inspects screening
- Border Officer → Command Dashboard: reviews activity
- Border Officer → Document Repository: searches records
- Border Officer → Verification Queue: triages cases
- Border Officer → Statutory Report: reviews dossier
- Screening Record Model → Benchmark Records: structures records
