# cdasadiya/ai-hackathon-sept-2026 architecture

> Architecture diagram of the GitHub repository cdasadiya/ai-hackathon-sept-2026, 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/cdasadiya/ai-hackathon-sept-2026
- Repository: https://github.com/cdasadiya/ai-hackathon-sept-2026

## Overview

Nexus Health is a Django hospital portal and REST API for role-based patient, doctor, and administrator workflows. Patients register, book appointments, and upload blood reports; doctors manage visits and review reports; administrators verify providers and configure integrations. Report uploads can be stored locally and sent to Google Drive, while n8n can process reports and return analysis. The graph follows documented capabilities and sampled code; several endpoint implementations were not sampled, so uncertain internal call links are omitted.

Main entry points: [`app/views.py`](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py) (Web and API Views), [`app/models.py`](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/models.py) (Domain Models), [`config/urls.py`](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/config/urls.py) (URL Routing), [`app/services.py`](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/services.py) (Integration Services)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web and API"]
  node_routing["URL Routing<br/>[urls.py]"]
  node_app_routes["Application Routes<br/>[urls.py]"]
  node_views["Web and API Views<br/>[views.py]"]
  node_forms["Input Forms<br/>[forms.py]"]
  node_templates["Role Portals"]
  node_auth["Roles and Permissions<br/>[permissions.py]"]
end

subgraph group_care["Care Workflows"]
  node_appointments["Appointments<br/>[views.py]"]
  node_provider_admin["Provider Administration<br/>[admin.py]"]
  node_report_review["Report Review<br/>[views.py]"]
end

subgraph group_integration["Report Integrations"]
  node_report_upload["Report Upload<br/>[views.py]"]
  node_integration_services["Integration Services<br/>[services.py]"]
  node_drive["Google Drive"]
  node_n8n["n8n Automation"]
  node_callback["Analysis Callback<br/>[views.py]"]
end

subgraph group_state["Platform State"]
  node_models["Domain Models<br/>[models.py]"]
  node_database[("Relational Database")]
  node_media[("Local Report Files<br/>[settings.py]")]
  node_integration_config["Integration Settings<br/>[admin.py]"]
end

node_patient(("Patient"))
node_doctor(("Doctor"))
node_admin(("Administrator"))
node_api_client(("API Client"))

node_patient -->|"opens portal"| node_routing
node_doctor -->|"opens portal"| node_routing
node_admin -->|"opens portal"| node_routing
node_api_client -->|"calls API"| node_routing
node_routing -->|"includes routes"| node_app_routes
node_app_routes -->|"dispatches requests"| node_views
node_views -->|"checks access"| node_auth
node_views -->|"validates input"| node_forms
node_views -->|"renders pages"| node_templates
node_views -->|"handles visits"| node_appointments
node_views -->|"handles uploads"| node_report_upload
node_views -->|"serves reviews"| node_report_review
node_appointments -->|"reads and writes"| node_models
node_report_review -->|"reads and writes"| node_models
node_provider_admin -->|"manages providers"| node_models
node_admin -->|"verifies providers"| node_provider_admin
node_report_upload -->|"stores files"| node_media
node_report_upload -->|"records reports"| node_models
node_report_upload -->|"requests integrations"| node_integration_services
node_integration_services -.->|"uploads reports"| node_drive
node_integration_services -.->|"sends webhook"| node_n8n
node_n8n -.->|"posts analysis"| node_callback
node_callback -->|"updates analysis"| node_models
node_admin -->|"configures services"| node_integration_config
node_integration_config -->|"persists settings"| node_models
node_models -->|"persists domain data"| node_database

click node_routing "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/config/urls.py"
click node_app_routes "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/urls.py"
click node_views "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py"
click node_forms "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/forms.py"
click node_templates "https://github.com/cdasadiya/ai-hackathon-sept-2026/tree/main/templates"
click node_auth "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/permissions.py"
click node_appointments "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py"
click node_provider_admin "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/admin.py"
click node_report_review "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py"
click node_report_upload "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py"
click node_integration_services "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/services.py"
click node_callback "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py"
click node_models "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/models.py"
click node_media "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/config/settings.py"
click node_integration_config "https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/admin.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_routing,node_app_routes,node_views,node_forms,node_templates,node_auth,node_api_client toneBlue
class node_appointments,node_provider_admin,node_report_review toneAmber
class node_report_upload,node_integration_services,node_drive,node_n8n,node_callback toneMint
class node_models,node_database,node_media,node_integration_config toneRose
class node_patient,node_doctor,node_admin toneIndigo
```

## Components

### Web and API

- [URL Routing](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/config/urls.py): `config/urls.py`
- [Application Routes](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/urls.py): `app/urls.py`
- [Web and API Views](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py): `app/views.py`
- [Input Forms](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/forms.py): `app/forms.py`
- [Role Portals](https://github.com/cdasadiya/ai-hackathon-sept-2026/tree/main/templates): `templates`
- [Roles and Permissions](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/permissions.py): `app/permissions.py`

### Care Workflows

- [Appointments](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py): `app/views.py`
- [Provider Administration](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/admin.py): `app/admin.py`
- [Report Review](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py): `app/views.py`

### Report Integrations

- [Report Upload](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py): `app/views.py`
- [Integration Services](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/services.py): `app/services.py`
- **Google Drive**
- **n8n Automation**
- [Analysis Callback](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/views.py): `app/views.py`

### Platform State

- [Domain Models](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/models.py): `app/models.py`
- **Relational Database**
- [Local Report Files](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/config/settings.py): `config/settings.py`
- [Integration Settings](https://github.com/cdasadiya/ai-hackathon-sept-2026/blob/main/app/admin.py): `app/admin.py`

### Other components

- **Patient**
- **Doctor**
- **Administrator**
- **API Client**

## Connections

- Patient → URL Routing: opens portal
- Doctor → URL Routing: opens portal
- Administrator → URL Routing: opens portal
- API Client → URL Routing: calls API
- URL Routing → Application Routes: includes routes
- Application Routes → Web and API Views: dispatches requests
- Web and API Views → Roles and Permissions: checks access
- Web and API Views → Input Forms: validates input
- Web and API Views → Role Portals: renders pages
- Web and API Views → Appointments: handles visits
- Web and API Views → Report Upload: handles uploads
- Web and API Views → Report Review: serves reviews
- Appointments → Domain Models: reads and writes
- Report Review → Domain Models: reads and writes
- Provider Administration → Domain Models: manages providers
- Administrator → Provider Administration: verifies providers
- Report Upload → Local Report Files: stores files
- Report Upload → Domain Models: records reports
- Report Upload → Integration Services: requests integrations
- Integration Services → Google Drive: uploads reports
- Integration Services → n8n Automation: sends webhook
- n8n Automation → Analysis Callback: posts analysis
- Analysis Callback → Domain Models: updates analysis
- Administrator → Integration Settings: configures services
- Integration Settings → Domain Models: persists settings
- Domain Models → Relational Database: persists domain data
