# devansh051/dynamicambulencedispatch architecture

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

## Overview

DADS combines a console dispatch workflow with a Next.js operations interface backed by MongoDB. The documented emergency flow collects incident and patient details, evaluates hospital routes and capacity, selects a destination, and dispatches an ambulance; the interface also supports monitoring, feedback, patient and hospital administration, and user access control. The excerpts show the Mongo CRUD route and selected UI calls, but not the wiring of most dashboard pages or the console program’s database integration, so those links are omitted.

Main entry points: [`frontend/src/app/page.jsx`](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/page.jsx) (Role selection), [`Project_ambu/hospital_final.cpp`](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp) (Dispatch application), [`frontend/src/app/api/mongo/route.js`](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/api/mongo/route.js) (Mongo CRUD API), [`frontend/src/lib/mongoConnect.js`](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/lib/mongoConnect.js) (Mongo connection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dispatch["Dispatch workflow"]
  node_dispatch_app["Dispatch application<br/>[hospital_final.cpp]"]
  node_incident["Incident intake<br/>[hospital_final.cpp]"]
  node_patient["Patient records<br/>[hospital_final.cpp]"]
  node_route["Route calculation<br/>[hospital_final.cpp]"]
  node_hospital_choice["Hospital selection<br/>[hospital_final.cpp]"]
  node_ambulance["Ambulance dispatch<br/>[hospital_final.cpp]"]
  node_network_data["Hospital route data<br/>[weights.txt]"]
  node_casualty_data["Casualty data"]
end

subgraph group_operations["Operations interface"]
  node_login["Role selection<br/>[page.jsx]"]
  node_admin_dashboard["Admin dashboard<br/>[page.jsx]"]
  node_hospital_dashboard["Hospital dashboard<br/>[page.jsx]"]
  node_patient_admin["Patient management<br/>[patients.jsx]"]
  node_hospital_admin["Hospital management<br/>[hospitals.jsx]"]
  node_distress["Distress center<br/>[distress.jsx]"]
  node_ambulance_tracker["Ambulance tracker"]
  node_ratings["Hospital ratings"]
  node_user_control["User access control<br/>[usercontrol.jsx]"]
  node_hospital_status["Hospital status<br/>[hospitalstatus.jsx]"]
  node_feedback["Hospital feedback<br/>[sendfeedback.jsx]"]
end

subgraph group_persistence["Data services"]
  node_api["Mongo CRUD API<br/>[route.js]"]
  node_mongo_connection["Mongo connection<br/>[mongoConnect.js]"]
  node_mongodb[("MongoDB")]
end

node_responder(("Emergency responder"))
node_admin(("Admin operator"))
node_hospital_staff(("Hospital staff"))

node_responder -->|"starts workflow"| node_dispatch_app
node_dispatch_app -->|"collects incident"| node_incident
node_incident -->|"captures details"| node_patient
node_dispatch_app -->|"calculates routes"| node_route
node_route -->|"reads distances"| node_network_data
node_route -->|"reads casualties"| node_casualty_data
node_dispatch_app -->|"selects hospital"| node_hospital_choice
node_hospital_choice -->|"dispatches ambulance"| node_ambulance
node_admin -->|"selects role"| node_login
node_hospital_staff -->|"selects role"| node_login
node_login -->|"loads hospitals"| node_api
node_login -->|"routes admin"| node_admin_dashboard
node_login -->|"routes hospital"| node_hospital_dashboard
node_user_control -->|"manages users"| node_api
node_api -->|"connects through"| node_mongo_connection
node_mongo_connection -->|"opens connection"| node_mongodb
node_api -->|"reads and writes"| node_mongodb

click node_dispatch_app "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_incident "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_patient "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_route "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_hospital_choice "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_ambulance "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp"
click node_network_data "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/weights.txt"
click node_casualty_data "https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/casualtiesMatrix.txt"
click node_login "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/page.jsx"
click node_admin_dashboard "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/page.jsx"
click node_hospital_dashboard "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/page.jsx"
click node_patient_admin "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/patients.jsx"
click node_hospital_admin "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/hospitals.jsx"
click node_distress "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/distress.jsx"
click node_ambulance_tracker "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/ambulance_tracker.jsx"
click node_ratings "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/rating_hospital.jsx"
click node_user_control "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/usercontrol.jsx"
click node_hospital_status "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/(subPages)/hospitalstatus.jsx"
click node_feedback "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/(subPages)/sendfeedback.jsx"
click node_api "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/api/mongo/route.js"
click node_mongo_connection "https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/lib/mongoConnect.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_dispatch_app,node_incident,node_patient,node_route,node_hospital_choice,node_ambulance,node_network_data,node_casualty_data toneBlue
class node_login,node_admin_dashboard,node_hospital_dashboard,node_patient_admin,node_hospital_admin,node_distress,node_ambulance_tracker,node_ratings,node_user_control,node_hospital_status,node_feedback toneAmber
class node_api,node_mongo_connection,node_mongodb toneMint
class node_responder,node_admin,node_hospital_staff toneIndigo
```

## Components

### Dispatch workflow

- [Dispatch application](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Incident intake](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Patient records](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Route calculation](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Hospital selection](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Ambulance dispatch](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/hospital_final.cpp): `Project_ambu/hospital_final.cpp`
- [Hospital route data](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/weights.txt): `Project_ambu/weights.txt`
- [Casualty data](https://github.com/devansh051/dynamicambulencedispatch/blob/main/Project_ambu/casualtiesMatrix.txt): `Project_ambu/casualtiesMatrix.txt`

### Operations interface

- [Role selection](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/page.jsx): `frontend/src/app/page.jsx`
- [Admin dashboard](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/page.jsx): `frontend/src/app/AdminDashboard/page.jsx`
- [Hospital dashboard](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/page.jsx): `frontend/src/app/HospitalDashboard/page.jsx`
- [Patient management](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/patients.jsx): `frontend/src/app/AdminDashboard/(subPages)/patients.jsx`
- [Hospital management](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/hospitals.jsx): `frontend/src/app/AdminDashboard/(subPages)/hospitals.jsx`
- [Distress center](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/distress.jsx): `frontend/src/app/AdminDashboard/(subPages)/distress.jsx`
- [Ambulance tracker](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/ambulance_tracker.jsx): `frontend/src/app/AdminDashboard/(subPages)/ambulance_tracker.jsx`
- [Hospital ratings](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/rating_hospital.jsx): `frontend/src/app/AdminDashboard/(subPages)/rating_hospital.jsx`
- [User access control](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/AdminDashboard/(subPages)/usercontrol.jsx): `frontend/src/app/AdminDashboard/(subPages)/usercontrol.jsx`
- [Hospital status](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/(subPages)/hospitalstatus.jsx): `frontend/src/app/HospitalDashboard/(subPages)/hospitalstatus.jsx`
- [Hospital feedback](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/HospitalDashboard/(subPages)/sendfeedback.jsx): `frontend/src/app/HospitalDashboard/(subPages)/sendfeedback.jsx`

### Data services

- [Mongo CRUD API](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/app/api/mongo/route.js): `frontend/src/app/api/mongo/route.js`
- [Mongo connection](https://github.com/devansh051/dynamicambulencedispatch/blob/main/frontend/src/lib/mongoConnect.js): `frontend/src/lib/mongoConnect.js`
- **MongoDB**

### Other components

- **Emergency responder**
- **Admin operator**
- **Hospital staff**

## Connections

- Emergency responder → Dispatch application: starts workflow
- Dispatch application → Incident intake: collects incident
- Incident intake → Patient records: captures details
- Dispatch application → Route calculation: calculates routes
- Route calculation → Hospital route data: reads distances
- Route calculation → Casualty data: reads casualties
- Dispatch application → Hospital selection: selects hospital
- Hospital selection → Ambulance dispatch: dispatches ambulance
- Admin operator → Role selection: selects role
- Hospital staff → Role selection: selects role
- Role selection → Mongo CRUD API: loads hospitals
- Role selection → Admin dashboard: routes admin
- Role selection → Hospital dashboard: routes hospital
- User access control → Mongo CRUD API: manages users
- Mongo CRUD API → Mongo connection: connects through
- Mongo connection → MongoDB: opens connection
- Mongo CRUD API → MongoDB: reads and writes
