# bulsu-mjoespiritu/alertu_mobileapp architecture

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

## Overview

AlertU is a Flutter citizen-safety app. Its apparent user workflow centers on viewing nearby incidents and submitting a report, with related SOS, emergency-contact, alert, chat, and account capabilities visible in the source tree. The README is only a conflicted project stub, and no Dart feature source was excerpted, so those feature links are shown as unverified rather than as confirmed call paths. The excerpts do confirm Android quick-report tile dispatch into the native activity; desktop host files are represented as platform runtime components.

Main entry points: [`lib/main.dart`](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/main.dart) (App entry), [`lib/homepage.dart`](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/homepage.dart) (Incident map), [`lib/report_submission.dart`](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/report_submission.dart) (Report submission), [`android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt`](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt) (Android activity)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_citizen["Citizen safety"]
  node_app["App entry<br/>[main.dart]"]
  node_home["Incident map<br/>[homepage.dart]"]
  node_alerts["Alerts<br/>[notifspage.dart]"]
  node_location["Location tracking"]
end

subgraph group_reporting["Reporting"]
  node_report["Report submission"]
  node_camera["Report camera<br/>[camera_page.dart]"]
  node_report_history["Report history"]
  node_report_store[("Report store")]
  node_sos["SOS services"]
end

subgraph group_communications["Communication"]
  node_contacts["Emergency contacts"]
  node_emergency_call["Emergency calling"]
  node_chat["Emergency chat"]
  node_chat_service["Chat service<br/>[chat_services.dart]"]
  node_live_socket["Live connection<br/>[socket.dart]"]
  node_feedback["Feedback<br/>[feedback_page.dart]"]
end

subgraph group_account["Account and settings"]
  node_login["Sign in and signup<br/>[login.dart]"]
  node_profile["Profile management"]
  node_settings["Settings<br/>[settingspage.dart]"]
end

subgraph group_platform["Platform runtime"]
  node_quick_tile["Quick report tile"]
  node_android_activity["Android activity<br/>[MainActivity.kt]"]
  node_windows_main["Windows entry<br/>[main.cpp]"]
  node_windows_flutter["Windows Flutter host<br/>[flutter_window.h]"]
  node_win32_window["Windows window<br/>[win32_window.h]"]
  node_linux_main["Linux entry<br/>[main.cc]"]
  node_linux_app["Linux application<br/>[my_application.h]"]
end

node_citizen(("Citizen"))

node_citizen -.->|"opens"| node_app
node_app -.->|"shows"| node_home
node_home -.->|"uses"| node_location
node_home -.->|"opens"| node_alerts
node_home -.->|"starts report"| node_report
node_report -.->|"uses"| node_camera
node_report -.->|"stores"| node_report_store
node_report_history -.->|"reads"| node_report_store
node_app -.->|"offers"| node_sos
node_app -.->|"offers"| node_contacts
node_app -.->|"opens"| node_emergency_call
node_app -.->|"opens"| node_chat
node_chat -.->|"uses"| node_chat_service
node_chat_service -.->|"uses"| node_live_socket
node_app -.->|"offers"| node_feedback
node_app -.->|"opens"| node_login
node_app -.->|"opens"| node_profile
node_app -.->|"opens"| node_settings
node_quick_tile -->|"launches"| node_android_activity
node_android_activity -->|"checks action"| node_quick_tile
node_android_activity -.->|"signals quick report"| node_app
node_windows_main -.->|"creates"| node_windows_flutter
node_windows_flutter -.->|"extends"| node_win32_window
node_linux_main -->|"creates"| node_linux_app

click node_app "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/main.dart"
click node_home "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/homepage.dart"
click node_alerts "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/notifspage.dart"
click node_location "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/userlocation_tracker.dart"
click node_report "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/report_submission.dart"
click node_camera "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/camera_page.dart"
click node_report_history "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/subpages/reportshistory_page.dart"
click node_report_store "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/my_reports_store.dart"
click node_sos "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/SOSNotif_service.dart"
click node_contacts "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/emergency_contacts.dart"
click node_emergency_call "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/emergencycall_page.dart"
click node_chat "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/subpages/emergency_chats.dart"
click node_chat_service "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/chat_services.dart"
click node_live_socket "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/socket.dart"
click node_feedback "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/feedback_page.dart"
click node_login "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/login.dart"
click node_profile "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/profile_management.dart"
click node_settings "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/settingspage.dart"
click node_quick_tile "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/QuickReportTileService.kt"
click node_android_activity "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt"
click node_windows_main "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/main.cpp"
click node_windows_flutter "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/flutter_window.h"
click node_win32_window "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/win32_window.h"
click node_linux_main "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/linux/runner/main.cc"
click node_linux_app "https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/linux/runner/my_application.h"

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_home,node_alerts,node_location toneBlue
class node_report,node_camera,node_report_history,node_report_store,node_sos toneAmber
class node_contacts,node_emergency_call,node_chat,node_chat_service,node_live_socket,node_feedback toneMint
class node_login,node_profile,node_settings toneRose
class node_quick_tile,node_android_activity,node_windows_main,node_windows_flutter,node_win32_window,node_linux_main,node_linux_app,node_citizen toneIndigo
```

## Components

### Citizen safety

- [App entry](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/main.dart): `lib/main.dart`
- [Incident map](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/homepage.dart): `lib/homepage.dart`
- [Alerts](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/notifspage.dart): `lib/pages/notifspage.dart`
- [Location tracking](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/userlocation_tracker.dart): `lib/services/userlocation_tracker.dart`

### Reporting

- [Report submission](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/report_submission.dart): `lib/report_submission.dart`
- [Report camera](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/camera_page.dart): `lib/camera_page.dart`
- [Report history](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/subpages/reportshistory_page.dart): `lib/subpages/reportshistory_page.dart`
- [Report store](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/my_reports_store.dart): `lib/services/my_reports_store.dart`
- [SOS services](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/SOSNotif_service.dart): `lib/services/SOSNotif_service.dart`

### Communication

- [Emergency contacts](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/emergency_contacts.dart): `lib/emergency_contacts.dart`
- [Emergency calling](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/emergencycall_page.dart): `lib/emergencycall_page.dart`
- [Emergency chat](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/subpages/emergency_chats.dart): `lib/subpages/emergency_chats.dart`
- [Chat service](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/chat_services.dart): `lib/services/chat_services.dart`
- [Live connection](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/services/socket.dart): `lib/services/socket.dart`
- [Feedback](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/feedback_page.dart): `lib/feedback_page.dart`

### Account and settings

- [Sign in and signup](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/login.dart): `lib/login.dart`
- [Profile management](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/profile_management.dart): `lib/pages/profile_management.dart`
- [Settings](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/lib/pages/settingspage.dart): `lib/pages/settingspage.dart`

### Platform runtime

- [Quick report tile](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/QuickReportTileService.kt): `android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/QuickReportTileService.kt`
- [Android activity](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt): `android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt`
- [Windows entry](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/main.cpp): `windows/runner/main.cpp`
- [Windows Flutter host](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/flutter_window.h): `windows/runner/flutter_window.h`
- [Windows window](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/windows/runner/win32_window.h): `windows/runner/win32_window.h`
- [Linux entry](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/linux/runner/main.cc): `linux/runner/main.cc`
- [Linux application](https://github.com/bulsu-mjoespiritu/alertu_mobileapp/blob/main/linux/runner/my_application.h): `linux/runner/my_application.h`

### Other components

- **Citizen**

## Connections

- Citizen → App entry: opens
- App entry → Incident map: shows
- Incident map → Location tracking: uses
- Incident map → Alerts: opens
- Incident map → Report submission: starts report
- Report submission → Report camera: uses
- Report submission → Report store: stores
- Report history → Report store: reads
- App entry → SOS services: offers
- App entry → Emergency contacts: offers
- App entry → Emergency calling: opens
- App entry → Emergency chat: opens
- Emergency chat → Chat service: uses
- Chat service → Live connection: uses
- App entry → Feedback: offers
- App entry → Sign in and signup: opens
- App entry → Profile management: opens
- App entry → Settings: opens
- Quick report tile → Android activity: launches (evidence: `android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/QuickReportTileService.kt`)
- Android activity → Quick report tile: checks action (evidence: `android/app/src/main/kotlin/com/ndrrmo/alertu/alertu_flutter/MainActivity.kt`)
- Android activity → App entry: signals quick report
- Windows entry → Windows Flutter host: creates (evidence: `windows/runner/main.cpp`)
- Windows Flutter host → Windows window: extends (evidence: `windows/runner/flutter_window.h`)
- Linux entry → Linux application: creates (evidence: `linux/runner/main.cc`)
