# satvik-pachipulusu/vigil-dashboard architecture

> Architecture diagram of the GitHub repository satvik-pachipulusu/vigil-dashboard, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/satvik-pachipulusu/vigil-dashboard
- Repository: https://github.com/satvik-pachipulusu/vigil-dashboard

## Overview

Vigil Dashboard is a browser-based incident reporting and situational-awareness app. Users can submit incident details, which the main reporting code stores in browser local storage; the dashboard alert feed reads those reports and displays incident cards and a ticker. The dashboard also initializes a clock, GPS capture and a Leaflet map. The excerpts show a second, separate form implementation with a different storage key. The README provides no further capability details, and the HTML files were not sampled, so page wiring beyond explicit references is not assumed.

Main entry points: [`script.js`](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/script.js) (Report submission), [`report.html`](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/report.html) (Report page), [`alerts.js`](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/alerts.js) (Alert feed), [`form.js`](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/form.js) (Alternate report form)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_reporting["Incident reporting"]
  node_report_page["Report page<br/>[report.html]"]
  node_report_submission["Report submission<br/>[script.js]"]
  node_alternate_form["Alternate report form<br/>[form.js]"]
  node_report_store[("Report storage")]
end

subgraph group_dashboard["Dashboard intelligence"]
  node_dashboard_page["Dashboard page<br/>[index.html]"]
  node_alert_feed["Alert feed<br/>[alerts.js]"]
  node_map_view["Map view<br/>[map.js]"]
  node_clock_gps["Clock and GPS<br/>[script.js]"]
end

subgraph group_shared["Browser utilities"]
  node_ui_helpers["UI helpers<br/>[utils.js]"]
end

node_user(("User"))
node_leaflet_cartodb["Leaflet and Carto tiles"]

node_user -.->|"enters report"| node_report_page
node_report_page -.->|"submits report"| node_report_submission
node_report_submission -->|"writes reports"| node_report_store
node_alternate_form -->|"writes reports"| node_report_store
node_report_store -->|"reads reports"| node_alert_feed
node_report_submission -->|"redirects to"| node_dashboard_page
node_report_submission -->|"initializes"| node_clock_gps
node_report_submission -->|"calls on load"| node_alert_feed
node_report_submission -->|"creates map and tiles"| node_leaflet_cartodb
node_map_view -->|"creates map and tiles"| node_leaflet_cartodb

click node_report_page "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/report.html"
click node_dashboard_page "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/index.html"
click node_report_submission "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/script.js"
click node_alternate_form "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/form.js"
click node_alert_feed "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/alerts.js"
click node_map_view "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/map.js"
click node_clock_gps "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/script.js"
click node_ui_helpers "https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/utils.js"

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_report_page,node_report_submission,node_alternate_form,node_report_store,node_user toneBlue
class node_dashboard_page,node_alert_feed,node_map_view,node_clock_gps toneAmber
class node_ui_helpers toneMint
class node_leaflet_cartodb toneIndigo
```

## Components

### Incident reporting

- [Report page](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/report.html): `report.html`
- [Report submission](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/script.js): `script.js`
- [Alternate report form](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/form.js): `form.js`
- **Report storage**

### Dashboard intelligence

- [Dashboard page](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/index.html): `index.html`
- [Alert feed](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/alerts.js): `alerts.js`
- [Map view](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/map.js): `map.js`
- [Clock and GPS](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/script.js): `script.js`

### Browser utilities

- [UI helpers](https://github.com/satvik-pachipulusu/vigil-dashboard/blob/main/utils.js): `utils.js`

### Other components

- **User**
- **Leaflet and Carto tiles**

## Connections

- User → Report page: enters report
- Report page → Report submission: submits report
- Report submission → Report storage: writes reports (evidence: `script.js`)
- Alternate report form → Report storage: writes reports (evidence: `form.js`)
- Report storage → Alert feed: reads reports (evidence: `alerts.js`)
- Report submission → Dashboard page: redirects to (evidence: `script.js`)
- Report submission → Clock and GPS: initializes (evidence: `script.js`)
- Report submission → Alert feed: calls on load (evidence: `script.js`)
- Report submission → Leaflet and Carto tiles: creates map and tiles (evidence: `script.js`)
- Map view → Leaflet and Carto tiles: creates map and tiles (evidence: `map.js`)
