# prasiddha08/aawaj-sos-app architecture

> Architecture diagram of the GitHub repository prasiddha08/aawaj-sos-app, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prasiddha08/aawaj-sos-app
- Repository: https://github.com/prasiddha08/aawaj-sos-app

## Overview

The tree indicates a Flutter app with authentication, check-ins, emergency/SOS, location, contacts, chat, and recording-related screens and services. The README provides no product description, and no Dart source was excerpted, so the workflows and connections among these modules cannot be verified; dashed, uncited edges mark likely navigation or service use rather than confirmed calls.

Main entry points: [`lib/screens/sos_screen.dart`](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/sos_screen.dart) (SOS), [`lib/screens/login_screen.dart`](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/login_screen.dart) (Login), [`lib/screens/home_screen.dart`](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/home_screen.dart) (Home), [`lib/screens/main_navigation.dart`](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/main_navigation.dart) (Main navigation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App experience"]
  node_login["Login<br/>[login_screen.dart]"]
  node_home["Home<br/>[home_screen.dart]"]
  node_navigation["Main navigation"]
  node_settings["Settings"]
end

subgraph group_safety["Safety features"]
  node_contacts["Contacts"]
  node_chat["Chat<br/>[chat_screen.dart]"]
  node_sos["SOS<br/>[sos_screen.dart]"]
  node_location["Location"]
  node_tracking["Tracking"]
  node_record["Recording<br/>[record_screen.dart]"]
  node_disguise["Disguise"]
  node_remaining["Remaining time"]
end

subgraph group_services["App services"]
  node_auth_api["Authentication API<br/>[auth_api.dart]"]
  node_checkin_api["Check-in API<br/>[checkin_api.dart]"]
  node_emergency_api["Emergency API<br/>[emergency_api.dart]"]
  node_sms["SMS sender<br/>[sms_sender.dart]"]
  node_provider["App provider<br/>[app_provider.dart]"]
end

subgraph group_domain["Domain data"]
  node_chat_model["Chat message<br/>[chat_message.dart]"]
  node_contact_model["Contact<br/>[contact.dart]"]
  node_recording_model["Recording<br/>[recording.dart]"]
end

node_user(("App user"))

node_user -.->|"starts session"| node_login
node_login -.->|"continues to"| node_navigation
node_navigation -.->|"opens"| node_home
node_user -.->|"requests help"| node_sos
node_sos -.->|"uses"| node_emergency_api
node_sos -.->|"sends alert"| node_sms
node_user -.->|"views location"| node_location
node_user -.->|"uses tracking"| node_tracking
node_user -.->|"manages contacts"| node_contacts
node_user -.->|"uses chat"| node_chat
node_user -.->|"records audio"| node_record
node_user -.->|"opens feature"| node_disguise
node_user -.->|"checks time"| node_remaining
node_user -.->|"changes settings"| node_settings
node_home -.->|"may check in"| node_checkin_api
node_contacts -.->|"uses data"| node_contact_model
node_chat -.->|"uses data"| node_chat_model
node_record -.->|"uses data"| node_recording_model
node_provider -.->|"may coordinate"| node_auth_api

click node_login "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/login_screen.dart"
click node_home "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/home_screen.dart"
click node_navigation "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/main_navigation.dart"
click node_settings "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/settings_screen.dart"
click node_contacts "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/contacts_screen.dart"
click node_chat "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/chat_screen.dart"
click node_sos "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/sos_screen.dart"
click node_location "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/location_screen.dart"
click node_tracking "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/tracking_screen.dart"
click node_record "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/record_screen.dart"
click node_disguise "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/disguise_screen.dart"
click node_remaining "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/remaining_screen.dart"
click node_auth_api "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/auth_api.dart"
click node_checkin_api "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/checkin_api.dart"
click node_emergency_api "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/emergency_api.dart"
click node_sms "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/sms_sender.dart"
click node_provider "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/providers/app_provider.dart"
click node_chat_model "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/chat_message.dart"
click node_contact_model "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/contact.dart"
click node_recording_model "https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/recording.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_login,node_home,node_navigation,node_settings,node_user toneBlue
class node_contacts,node_chat,node_sos,node_location,node_tracking,node_record,node_disguise,node_remaining toneAmber
class node_auth_api,node_checkin_api,node_emergency_api,node_sms,node_provider toneMint
class node_chat_model,node_contact_model,node_recording_model toneRose
```

## Components

### App experience

- [Login](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/login_screen.dart): `lib/screens/login_screen.dart`
- [Home](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/home_screen.dart): `lib/screens/home_screen.dart`
- [Main navigation](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/main_navigation.dart): `lib/screens/main_navigation.dart`
- [Settings](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/settings_screen.dart): `lib/screens/settings_screen.dart`

### Safety features

- [Contacts](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/contacts_screen.dart): `lib/screens/contacts_screen.dart`
- [Chat](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/chat_screen.dart): `lib/screens/chat_screen.dart`
- [SOS](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/sos_screen.dart): `lib/screens/sos_screen.dart`
- [Location](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/location_screen.dart): `lib/screens/location_screen.dart`
- [Tracking](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/tracking_screen.dart): `lib/screens/tracking_screen.dart`
- [Recording](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/record_screen.dart): `lib/screens/record_screen.dart`
- [Disguise](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/disguise_screen.dart): `lib/screens/disguise_screen.dart`
- [Remaining time](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/screens/remaining_screen.dart): `lib/screens/remaining_screen.dart`

### App services

- [Authentication API](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/auth_api.dart): `lib/services/auth_api.dart`
- [Check-in API](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/checkin_api.dart): `lib/services/checkin_api.dart`
- [Emergency API](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/emergency_api.dart): `lib/services/emergency_api.dart`
- [SMS sender](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/services/sms_sender.dart): `lib/services/sms_sender.dart`
- [App provider](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/providers/app_provider.dart): `lib/providers/app_provider.dart`

### Domain data

- [Chat message](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/chat_message.dart): `lib/models/chat_message.dart`
- [Contact](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/contact.dart): `lib/models/contact.dart`
- [Recording](https://github.com/prasiddha08/aawaj-sos-app/blob/main/lib/models/recording.dart): `lib/models/recording.dart`

### Other components

- **App user**

## Connections

- App user → Login: starts session
- Login → Main navigation: continues to
- Main navigation → Home: opens
- App user → SOS: requests help
- SOS → Emergency API: uses
- SOS → SMS sender: sends alert
- App user → Location: views location
- App user → Tracking: uses tracking
- App user → Contacts: manages contacts
- App user → Chat: uses chat
- App user → Recording: records audio
- App user → Disguise: opens feature
- App user → Remaining time: checks time
- App user → Settings: changes settings
- Home → Check-in API: may check in
- Contacts → Contact: uses data
- Chat → Chat message: uses data
- Recording → Recording: uses data
- App provider → Authentication API: may coordinate
