# ezekiel-serva/ligtaskababayan architecture

> Architecture diagram of the GitHub repository ezekiel-serva/ligtaskababayan, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ezekiel-serva/ligtaskababayan
- Repository: https://github.com/ezekiel-serva/ligtaskababayan

## Overview

LigtasKababayan is a flood-response web system connecting citizens, barangay responders, and evacuation-center personnel. Citizens submit location-aware help reports with water level, headcount, contact details, optional photos, and vulnerable-person information; reports are persisted and active reports can be retrieved in water-level priority order and marked rescued. Separate workflows cover user and authorized-personnel accounts, shelter discovery, and personnel updates to center occupancy and location. The README documents admin report management and rescue queues; admin wiring is not fully verifiable from the sampled source, so those links are marked unverified.

Main entry points: [`database_conn.php`](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database_conn.php) (Database connection), [`save.php`](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/save.php) (Report submission), [`navigations/admin.php`](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/admin.php) (Admin console), [`get_users.php`](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/get_users.php) (Active report feed)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_reporting["Emergency reporting"]
  node_helpform["Help request form<br/>[reqhelp.php]"]
  node_reportclient["Location and report client<br/>[script.js]"]
  node_reportapi["Report submission<br/>[save.php]"]
  node_reportstore[("Application database")]
end

subgraph group_operations["Rescue operations"]
  node_admin["Admin console<br/>[admin.php]"]
  node_adminclient["Admin interactions<br/>[admin.js]"]
  node_activequeue["Active report feed<br/>[get_users.php]"]
  node_rescueupdate["Rescue status update<br/>[rescued.php]"]
end

subgraph group_shelters["Shelter information"]
  node_apdashboard["Personnel dashboard<br/>[authPerson.php]"]
  node_shelterfinder["Shelter finder<br/>[findShelter.php]"]
  node_shelterstore[("Evacuation-center data")]
end

subgraph group_identity["Accounts and access"]
  node_apregister["Personnel registration<br/>[apRegestration.php]"]
  node_userregister["Citizen registration<br/>[register.php]"]
  node_login["Citizen login<br/>[login.php]"]
end

node_citizen(("Citizen"))
node_responder(("Admin responder"))
node_connection["Database connection<br/>[database_conn.php]"]
node_user(("Citizen account"))
node_personnel(("Authorized personnel"))

node_citizen -->|"enters report"| node_helpform
node_helpform -->|"loads script"| node_reportclient
node_reportclient -->|"posts report"| node_reportapi
node_reportapi -->|"opens database"| node_connection
node_reportapi -->|"inserts report"| node_reportstore
node_responder -.->|"manages reports"| node_admin
node_admin -.->|"reviews active reports"| node_activequeue
node_admin -.->|"updates rescue status"| node_rescueupdate
node_activequeue -->|"opens database"| node_connection
node_activequeue -->|"reads active reports"| node_reportstore
node_rescueupdate -->|"opens database"| node_connection
node_rescueupdate -->|"marks rescued"| node_reportstore
node_personnel -->|"signs in"| node_apdashboard
node_apdashboard -->|"opens database"| node_connection
node_apdashboard -->|"updates occupancy and location"| node_shelterstore
node_citizen -.->|"finds shelter"| node_shelterfinder
node_shelterfinder -->|"opens database"| node_connection
node_shelterfinder -->|"reads capacity and location"| node_shelterstore
node_user -->|"creates account"| node_userregister
node_user -->|"authenticates"| node_login
node_personnel -->|"registers personnel"| node_apregister
node_userregister -->|"opens database"| node_connection
node_apregister -->|"opens database"| node_connection
node_login -->|"opens database"| node_connection

click node_helpform "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/reqhelp.php"
click node_reportclient "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/script.js"
click node_reportapi "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/save.php"
click node_reportstore "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database/ligtaskababayan_db.sql"
click node_admin "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/admin.php"
click node_adminclient "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/admin.js"
click node_activequeue "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/get_users.php"
click node_rescueupdate "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/rescued.php"
click node_apdashboard "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/authPerson.php"
click node_shelterfinder "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/findShelter.php"
click node_shelterstore "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database/ligtaskababayan_db.sql"
click node_apregister "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/apRegestration.php"
click node_userregister "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/register.php"
click node_login "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/login.php"
click node_connection "https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database_conn.php"

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_helpform,node_reportclient,node_reportapi,node_reportstore toneBlue
class node_admin,node_adminclient,node_activequeue,node_rescueupdate,node_connection toneAmber
class node_apdashboard,node_shelterfinder,node_shelterstore toneMint
class node_apregister,node_userregister,node_login toneRose
class node_citizen,node_responder,node_user,node_personnel toneIndigo
```

## Components

### Emergency reporting

- [Help request form](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/reqhelp.php): `navigations/reqhelp.php`
- [Location and report client](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/script.js): `script.js`
- [Report submission](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/save.php): `save.php`
- [Application database](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database/ligtaskababayan_db.sql): `database/ligtaskababayan_db.sql`

### Rescue operations

- [Admin console](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/admin.php): `navigations/admin.php`
- [Admin interactions](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/admin.js): `admin.js`
- [Active report feed](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/get_users.php): `get_users.php`
- [Rescue status update](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/rescued.php): `rescued.php`

### Shelter information

- [Personnel dashboard](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/authPerson.php): `navigations/authPerson.php`
- [Shelter finder](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/findShelter.php): `navigations/findShelter.php`
- [Evacuation-center data](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database/ligtaskababayan_db.sql): `database/ligtaskababayan_db.sql`

### Accounts and access

- [Personnel registration](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/apRegestration.php): `navigations/apRegestration.php`
- [Citizen registration](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/register.php): `navigations/register.php`
- [Citizen login](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/navigations/login.php): `navigations/login.php`

### Other components

- **Citizen**
- **Admin responder**
- [Database connection](https://github.com/ezekiel-serva/ligtaskababayan/blob/master/database_conn.php): `database_conn.php`
- **Citizen account**
- **Authorized personnel**

## Connections

- Citizen → Help request form: enters report (evidence: `navigations/reqhelp.php`)
- Help request form → Location and report client: loads script (evidence: `navigations/reqhelp.php`)
- Location and report client → Report submission: posts report (evidence: `script.js`)
- Report submission → Database connection: opens database (evidence: `save.php`)
- Report submission → Application database: inserts report (evidence: `save.php`)
- Admin responder → Admin console: manages reports (evidence: `README.md`)
- Admin console → Active report feed: reviews active reports
- Admin console → Rescue status update: updates rescue status (evidence: `README.md`)
- Active report feed → Database connection: opens database (evidence: `get_users.php`)
- Active report feed → Application database: reads active reports (evidence: `get_users.php`)
- Rescue status update → Database connection: opens database (evidence: `rescued.php`)
- Rescue status update → Application database: marks rescued (evidence: `rescued.php`)
- Authorized personnel → Personnel dashboard: signs in (evidence: `navigations/authPerson.php`)
- Personnel dashboard → Database connection: opens database (evidence: `navigations/authPerson.php`)
- Personnel dashboard → Evacuation-center data: updates occupancy and location (evidence: `navigations/authPerson.php`)
- Citizen → Shelter finder: finds shelter (evidence: `README.md`)
- Shelter finder → Database connection: opens database (evidence: `navigations/findShelter.php`)
- Shelter finder → Evacuation-center data: reads capacity and location (evidence: `navigations/findShelter.php`)
- Citizen account → Citizen registration: creates account (evidence: `navigations/register.php`)
- Citizen account → Citizen login: authenticates (evidence: `navigations/login.php`)
- Authorized personnel → Personnel registration: registers personnel (evidence: `navigations/apRegestration.php`)
- Citizen registration → Database connection: opens database (evidence: `navigations/register.php`)
- Personnel registration → Database connection: opens database (evidence: `navigations/apRegestration.php`)
- Citizen login → Database connection: opens database (evidence: `navigations/login.php`)
