# tanushree10706/sufd-admin-dashboard architecture

> Architecture diagram of the GitHub repository tanushree10706/sufd-admin-dashboard, 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/tanushree10706/sufd-admin-dashboard
- Repository: https://github.com/tanushree10706/sufd-admin-dashboard

## Overview

Aranyak is a wildfire command-and-control dashboard for monitoring incidents and coordinating drone and field response. The visible runtime is a React frontend: the user enters through the app shell, which selects screens; shared command-center state supplies operational data, and the incident detail view embeds the map. README capabilities include dispatch, fleet and personnel management, history and analytics, and ML surveillance. The README describes a FastAPI inference backend, but no backend source appears in the supplied tree, so its internals and any inference-to-incident workflow are not mapped.

Main entry points: [`src/App.tsx`](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/App.tsx) (React App), [`src/context/CommandCenterContext.tsx`](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/context/CommandCenterContext.tsx) (Command Center State), [`src/components/screens/IncidentDetailScreen.tsx`](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/IncidentDetailScreen.tsx) (Incident Detail), [`src/components/Header.tsx`](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/Header.tsx) (Header Controls)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Dashboard Shell"]
  node_app["React App<br/>[App.tsx]"]
  node_navigation["Navigation<br/>[Navigation.tsx]"]
  node_header["Header Controls<br/>[Header.tsx]"]
  node_login["Login Screen<br/>[LoginScreen.tsx]"]
end

subgraph group_operations["Incident Operations"]
  node_overview["Dashboard Overview"]
  node_incident["Incident Detail"]
  node_dispatch["Dispatch Queue"]
  node_history["Incident History<br/>[HistoryScreen.tsx]"]
  node_map["Command Map<br/>[MapComponent.tsx]"]
end

subgraph group_field["Field Resources"]
  node_drones["Drone Fleet"]
  node_personnel["Personnel Management"]
  node_stations["Response Stations<br/>[StationsScreen.tsx]"]
end

subgraph group_intelligence["Surveillance Intelligence"]
  node_surveillance["Surveillance View"]
  node_mlsurveillance["ML Surveillance"]
  node_analytics["Analytics"]
end

subgraph group_state["Shared Data"]
  node_context["Command Center State"]
  node_types["Domain Types<br/>[dashboard.ts]"]
  node_client["Supabase Client<br/>[supabaseClient.ts]"]
end

node_operator(("Operator"))
node_supabase[("Supabase")]
node_mlbackend["ML Backend"]

node_operator -->|"opens dashboard"| node_app
node_app -->|"provides state"| node_context
node_app -->|"renders"| node_navigation
node_app -->|"renders"| node_header
node_app -->|"selects screen"| node_login
node_app -->|"selects screen"| node_overview
node_app -->|"selects screen"| node_incident
node_app -->|"selects screen"| node_dispatch
node_app -->|"selects screen"| node_drones
node_app -->|"selects screen"| node_personnel
node_app -->|"selects screen"| node_stations
node_app -->|"selects screen"| node_history
node_app -->|"selects screen"| node_analytics
node_app -->|"selects screen"| node_surveillance
node_app -->|"selects screen"| node_mlsurveillance
node_incident -->|"reads and updates"| node_context
node_incident -->|"renders map"| node_map
node_map -->|"reads and updates"| node_context
node_header -->|"reads and updates"| node_context
node_context -->|"uses client"| node_client
node_client -.->|"queries data"| node_supabase
node_mlsurveillance -.->|"sends inference requests"| node_mlbackend

click node_app "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/App.tsx"
click node_navigation "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/Navigation.tsx"
click node_header "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/Header.tsx"
click node_login "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/LoginScreen.tsx"
click node_overview "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DashboardOverviewScreen.tsx"
click node_incident "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/IncidentDetailScreen.tsx"
click node_dispatch "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DispatchQueueScreen.tsx"
click node_history "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/HistoryScreen.tsx"
click node_drones "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DroneFleetScreen.tsx"
click node_personnel "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/PersonnelScreen.tsx"
click node_stations "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/StationsScreen.tsx"
click node_surveillance "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/SurveillanceScreen.tsx"
click node_mlsurveillance "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/MLSurveillanceScreen.tsx"
click node_analytics "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/AnalyticsScreen.tsx"
click node_map "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/MapComponent.tsx"
click node_context "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/context/CommandCenterContext.tsx"
click node_types "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/types/dashboard.ts"
click node_client "https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/lib/supabaseClient.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_navigation,node_header,node_login toneBlue
class node_overview,node_incident,node_dispatch,node_history,node_map,node_supabase toneAmber
class node_drones,node_personnel,node_stations toneMint
class node_surveillance,node_mlsurveillance,node_analytics toneRose
class node_context,node_types,node_client,node_operator,node_mlbackend toneIndigo
```

## Components

### Dashboard Shell

- [React App](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/App.tsx): `src/App.tsx`
- [Navigation](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/Navigation.tsx): `src/components/Navigation.tsx`
- [Header Controls](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/Header.tsx): `src/components/Header.tsx`
- [Login Screen](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/LoginScreen.tsx): `src/components/screens/LoginScreen.tsx`

### Incident Operations

- [Dashboard Overview](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DashboardOverviewScreen.tsx): `src/components/screens/DashboardOverviewScreen.tsx`
- [Incident Detail](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/IncidentDetailScreen.tsx): `src/components/screens/IncidentDetailScreen.tsx`
- [Dispatch Queue](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DispatchQueueScreen.tsx): `src/components/screens/DispatchQueueScreen.tsx`
- [Incident History](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/HistoryScreen.tsx): `src/components/screens/HistoryScreen.tsx`
- [Command Map](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/MapComponent.tsx): `src/components/MapComponent.tsx`

### Field Resources

- [Drone Fleet](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/DroneFleetScreen.tsx): `src/components/screens/DroneFleetScreen.tsx`
- [Personnel Management](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/PersonnelScreen.tsx): `src/components/screens/PersonnelScreen.tsx`
- [Response Stations](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/StationsScreen.tsx): `src/components/screens/StationsScreen.tsx`

### Surveillance Intelligence

- [Surveillance View](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/SurveillanceScreen.tsx): `src/components/screens/SurveillanceScreen.tsx`
- [ML Surveillance](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/MLSurveillanceScreen.tsx): `src/components/screens/MLSurveillanceScreen.tsx`
- [Analytics](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/components/screens/AnalyticsScreen.tsx): `src/components/screens/AnalyticsScreen.tsx`

### Shared Data

- [Command Center State](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/context/CommandCenterContext.tsx): `src/context/CommandCenterContext.tsx`
- [Domain Types](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/types/dashboard.ts): `src/types/dashboard.ts`
- [Supabase Client](https://github.com/tanushree10706/sufd-admin-dashboard/blob/main/src/lib/supabaseClient.ts): `src/lib/supabaseClient.ts`

### Other components

- **Operator**
- **Supabase**
- **ML Backend**

## Connections

- Operator → React App: opens dashboard
- React App → Command Center State: provides state
- React App → Navigation: renders
- React App → Header Controls: renders
- React App → Login Screen: selects screen
- React App → Dashboard Overview: selects screen
- React App → Incident Detail: selects screen
- React App → Dispatch Queue: selects screen
- React App → Drone Fleet: selects screen
- React App → Personnel Management: selects screen
- React App → Response Stations: selects screen
- React App → Incident History: selects screen
- React App → Analytics: selects screen
- React App → Surveillance View: selects screen
- React App → ML Surveillance: selects screen
- Incident Detail → Command Center State: reads and updates
- Incident Detail → Command Map: renders map
- Command Map → Command Center State: reads and updates
- Header Controls → Command Center State: reads and updates
- Command Center State → Supabase Client: uses client
- Supabase Client → Supabase: queries data
- ML Surveillance → ML Backend: sends inference requests
