# sahilkapoor4675-blip/quality-disposition-dashboard architecture

> Architecture diagram of the GitHub repository sahilkapoor4675-blip/quality-disposition-dashboard, 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/sahilkapoor4675-blip/quality-disposition-dashboard
- Repository: https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard

## Overview

This is a plant quality-intelligence dashboard for monitoring quality dispositions and exploring production and defect data. The main workflow is: a quality user filters the dashboard, the browser requests metrics and analysis from the Python HTTP server, the server queries the configured database, and the browser presents KPI, trend, and drilldown views. Users can also export assembled reports. Admin capabilities include session-protected management and operational visibility. The README and sampled files support these major areas; unsampled server routes are represented only at the subsystem level.

Main entry points: [`server.py`](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py) (HTTP API), [`app.js`](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/app.js) (Browser Logic), [`index.html`](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/index.html) (Dashboard), [`admin.html`](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/admin.html) (Admin Console)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Dashboard UI"]
  node_dashboard["Dashboard<br/>[index.html]"]
  node_admin_ui["Admin Console<br/>[admin.html]"]
  node_browser_logic["Browser Logic<br/>[app.js]"]
end

subgraph group_quality["Quality Analytics"]
  node_quality_data["Quality Data<br/>[server.py]"]
  node_filters_kpis["Filters and KPIs<br/>[server.py]"]
  node_qcr["Quality Control Room<br/>[server.py]"]
  node_defect_analysis["Defect Analysis<br/>[server.py]"]
  node_root_cause["Root Cause and Fishbone<br/>[server.py]"]
  node_trends_targets["Trends and Targets<br/>[server.py]"]
end

subgraph group_admin["Administration"]
  node_admin_api["Admin Operations<br/>[server.py]"]
  node_auth_sessions["Authentication and Sessions<br/>[session_store.py]"]
  node_logging["Operational Logging<br/>[logging_setup.py]"]
end

subgraph group_runtime["Backend Runtime"]
  node_http_server["HTTP API<br/>[server.py]"]
  node_report_builder["Report Builder<br/>[reports.py]"]
  node_database[("Application Database<br/>[quality.db]")]
end

node_quality_user(("Quality User"))
node_admin_user(("Admin User"))
node_postgres[("PostgreSQL")]
node_report_file["Exported Report"]

node_quality_user -->|"opens"| node_dashboard
node_admin_user -->|"opens"| node_admin_ui
node_dashboard -->|"loads"| node_browser_logic
node_admin_ui -->|"loads"| node_browser_logic
node_browser_logic -->|"requests APIs"| node_http_server
node_http_server -->|"dispatches"| node_filters_kpis
node_http_server -->|"dispatches"| node_qcr
node_http_server -->|"dispatches"| node_defect_analysis
node_http_server -->|"dispatches"| node_root_cause
node_http_server -->|"dispatches"| node_trends_targets
node_http_server -->|"dispatches"| node_admin_api
node_filters_kpis -->|"queries"| node_quality_data
node_qcr -->|"queries"| node_quality_data
node_defect_analysis -->|"queries"| node_quality_data
node_root_cause -->|"queries"| node_quality_data
node_trends_targets -->|"queries"| node_quality_data
node_quality_data -->|"reads and writes"| node_database
node_quality_data -.->|"uses when configured"| node_postgres
node_admin_api -->|"checks sessions"| node_auth_sessions
node_auth_sessions -.->|"syncs sessions"| node_postgres
node_admin_api -->|"reads logs"| node_logging
node_http_server -->|"builds exports"| node_report_builder
node_report_builder -->|"returns export"| node_report_file
node_browser_logic -->|"downloads"| node_report_file

click node_dashboard "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/index.html"
click node_admin_ui "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/admin.html"
click node_browser_logic "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/app.js"
click node_quality_data "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_filters_kpis "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_qcr "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_defect_analysis "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_root_cause "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_trends_targets "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_admin_api "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_auth_sessions "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/session_store.py"
click node_logging "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/logging_setup.py"
click node_http_server "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py"
click node_report_builder "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/reports.py"
click node_database "https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/quality.db"

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_dashboard,node_admin_ui,node_browser_logic,node_quality_user,node_admin_user toneBlue
class node_quality_data,node_filters_kpis,node_qcr,node_defect_analysis,node_root_cause,node_trends_targets,node_postgres toneAmber
class node_admin_api,node_auth_sessions,node_logging toneMint
class node_http_server,node_report_builder,node_database toneRose
class node_report_file toneIndigo
```

## Components

### Dashboard UI

- [Dashboard](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/index.html): `index.html`
- [Admin Console](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/admin.html): `admin.html`
- [Browser Logic](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/app.js): `app.js`

### Quality Analytics

- [Quality Data](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Filters and KPIs](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Quality Control Room](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Defect Analysis](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Root Cause and Fishbone](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Trends and Targets](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`

### Administration

- [Admin Operations](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Authentication and Sessions](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/session_store.py): `session_store.py`
- [Operational Logging](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/logging_setup.py): `logging_setup.py`

### Backend Runtime

- [HTTP API](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/server.py): `server.py`
- [Report Builder](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/reports.py): `reports.py`
- [Application Database](https://github.com/sahilkapoor4675-blip/quality-disposition-dashboard/blob/main/quality.db): `quality.db`

### Other components

- **Quality User**
- **Admin User**
- **PostgreSQL**
- **Exported Report**

## Connections

- Quality User → Dashboard: opens
- Admin User → Admin Console: opens
- Dashboard → Browser Logic: loads
- Admin Console → Browser Logic: loads
- Browser Logic → HTTP API: requests APIs
- HTTP API → Filters and KPIs: dispatches
- HTTP API → Quality Control Room: dispatches
- HTTP API → Defect Analysis: dispatches
- HTTP API → Root Cause and Fishbone: dispatches
- HTTP API → Trends and Targets: dispatches
- HTTP API → Admin Operations: dispatches
- Filters and KPIs → Quality Data: queries
- Quality Control Room → Quality Data: queries
- Defect Analysis → Quality Data: queries
- Root Cause and Fishbone → Quality Data: queries
- Trends and Targets → Quality Data: queries
- Quality Data → Application Database: reads and writes
- Quality Data → PostgreSQL: uses when configured
- Admin Operations → Authentication and Sessions: checks sessions
- Authentication and Sessions → PostgreSQL: syncs sessions
- Admin Operations → Operational Logging: reads logs
- HTTP API → Report Builder: builds exports
- Report Builder → Exported Report: returns export
- Browser Logic → Exported Report: downloads
