# moulendrabalaji/drishti-transit architecture

> Architecture diagram of the GitHub repository moulendrabalaji/drishti-transit, 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/moulendrabalaji/drishti-transit
- Repository: https://github.com/moulendrabalaji/drishti-transit

## Overview

Drishti-Transit is a Flutter prototype for transit-based road sensing: bus telemetry and incident detections feed a command-centre workflow for monitoring, triage, investigation, and corridor analysis. The README documents the major capabilities and stack; the sampled source does not include the Dart implementation, so links between core services and screens reflect documented behavior, not verified call sites.

Main entry points: [`lib/core/command_center.dart`](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/command_center.dart) (Command state), [`lib/screens/command_screen.dart`](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/command_screen.dart) (Command view), [`lib/router/command_room_router.dart`](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/router/command_room_router.dart) (Command routing), [`lib/app/app.dart`](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/app.dart) (App bootstrap)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["App runtime"]
  node_main["Flutter entry<br/>[main.dart]"]
  node_app["App bootstrap<br/>[app.dart]"]
  node_command_app["Command app"]
  node_field_app["Field crew app"]
  node_command_router["Command routing"]
  node_field_router["Crew routing"]
end

subgraph group_operations["Command operations"]
  node_command_screen["Command view"]
  node_incident_detail["Incident detail"]
  node_analytics["Corridor analytics"]
  node_detection_feed["Detection feed"]
  node_mission["Crew mission"]
  node_web_views["Command views"]
end

subgraph group_sensing["Fleet sensing"]
  node_command_center["Command state"]
  node_detection_service["Detection service"]
  node_fleet_service["Fleet service<br/>[fleet_service.dart]"]
  node_models["Transit models<br/>[models.dart]"]
  node_street_engine["Street renderer<br/>[street_engine.dart]"]
end

subgraph group_shared["Shared presentation"]
  node_map_overlays["Map overlays<br/>[map_overlays.dart]"]
end

node_operator(("City operator"))

node_operator -->|"opens app"| node_main
node_main -->|"starts"| node_app
node_app -->|"selects command"| node_command_app
node_app -->|"selects crew"| node_field_app
node_command_app -->|"configures routes"| node_command_router
node_field_app -->|"configures routes"| node_field_router
node_command_router -->|"routes to"| node_command_screen
node_command_router -->|"routes to"| node_analytics
node_command_router -->|"routes to"| node_incident_detail
node_command_screen -->|"renders map"| node_map_overlays
node_command_screen -->|"shows views"| node_web_views
node_field_router -->|"routes to"| node_mission
node_detection_service -->|"publishes detections"| node_command_center
node_fleet_service -->|"publishes telemetry"| node_command_center
node_command_center -->|"supplies live state"| node_command_screen
node_command_center -->|"supplies incidents"| node_detection_feed
node_command_center -->|"supplies metrics"| node_analytics
node_command_center -->|"supplies incident"| node_incident_detail
node_command_center -->|"supplies field data"| node_mission
node_fleet_service -.->|"uses fleet data"| node_models
node_detection_service -.->|"uses detection data"| node_models
node_street_engine -.->|"renders scene"| node_command_screen

click node_main "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/main.dart"
click node_app "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/app.dart"
click node_command_app "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/command_room_app.dart"
click node_field_app "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/field_crew_app.dart"
click node_command_router "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/router/command_room_router.dart"
click node_field_router "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/router/field_crew_router.dart"
click node_command_screen "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/command_screen.dart"
click node_incident_detail "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/incident_detail_screen.dart"
click node_analytics "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/analytics_screen.dart"
click node_detection_feed "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/detection_feed_screen.dart"
click node_mission "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/mission_screen.dart"
click node_command_center "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/command_center.dart"
click node_detection_service "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/detection_service.dart"
click node_fleet_service "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/fleet_service.dart"
click node_models "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/models.dart"
click node_street_engine "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/street_engine.dart"
click node_map_overlays "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/ui/map_overlays.dart"
click node_web_views "https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/web/web_command_views.dart"

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_main,node_app,node_command_app,node_field_app,node_command_router,node_field_router toneBlue
class node_command_screen,node_incident_detail,node_analytics,node_detection_feed,node_mission,node_web_views toneAmber
class node_command_center,node_detection_service,node_fleet_service,node_models,node_street_engine toneMint
class node_map_overlays toneRose
class node_operator toneIndigo
```

## Components

### App runtime

- [Flutter entry](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/main.dart): `lib/main.dart`
- [App bootstrap](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/app.dart): `lib/app/app.dart`
- [Command app](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/command_room_app.dart): `lib/app/command_room_app.dart`
- [Field crew app](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/app/field_crew_app.dart): `lib/app/field_crew_app.dart`
- [Command routing](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/router/command_room_router.dart): `lib/router/command_room_router.dart`
- [Crew routing](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/router/field_crew_router.dart): `lib/router/field_crew_router.dart`

### Command operations

- [Command view](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/command_screen.dart): `lib/screens/command_screen.dart`
- [Incident detail](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/incident_detail_screen.dart): `lib/screens/incident_detail_screen.dart`
- [Corridor analytics](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/analytics_screen.dart): `lib/screens/analytics_screen.dart`
- [Detection feed](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/detection_feed_screen.dart): `lib/screens/detection_feed_screen.dart`
- [Crew mission](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/mission_screen.dart): `lib/screens/mission_screen.dart`
- [Command views](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/screens/web/web_command_views.dart): `lib/screens/web/web_command_views.dart`

### Fleet sensing

- [Command state](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/command_center.dart): `lib/core/command_center.dart`
- [Detection service](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/detection_service.dart): `lib/core/detection_service.dart`
- [Fleet service](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/fleet_service.dart): `lib/core/fleet_service.dart`
- [Transit models](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/models.dart): `lib/core/models.dart`
- [Street renderer](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/core/street_engine.dart): `lib/core/street_engine.dart`

### Shared presentation

- [Map overlays](https://github.com/moulendrabalaji/drishti-transit/blob/main/lib/ui/map_overlays.dart): `lib/ui/map_overlays.dart`

### Other components

- **City operator**

## Connections

- City operator → Flutter entry: opens app
- Flutter entry → App bootstrap: starts
- App bootstrap → Command app: selects command
- App bootstrap → Field crew app: selects crew
- Command app → Command routing: configures routes
- Field crew app → Crew routing: configures routes
- Command routing → Command view: routes to
- Command routing → Corridor analytics: routes to
- Command routing → Incident detail: routes to
- Command view → Map overlays: renders map
- Command view → Command views: shows views
- Crew routing → Crew mission: routes to
- Detection service → Command state: publishes detections
- Fleet service → Command state: publishes telemetry
- Command state → Command view: supplies live state
- Command state → Detection feed: supplies incidents
- Command state → Corridor analytics: supplies metrics
- Command state → Incident detail: supplies incident
- Command state → Crew mission: supplies field data
- Fleet service → Transit models: uses fleet data
- Detection service → Transit models: uses detection data
- Street renderer → Command view: renders scene
