# nersus15/bloodgency-mobile architecture

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

- Interactive diagram: https://gitdiagram.com/nersus15/bloodgency-mobile
- Repository: https://github.com/nersus15/bloodgency-mobile

## Overview

Bloodgency is a Flutter application whose file tree suggests a blood-donation and donor-request experience. The likely user journey spans onboarding or authentication, home, donor discovery or donation, and donor requests, with profile and notification-related models also present. The README only describes a starter Flutter project, and the sampled source contains platform runners rather than Dart application code. Accordingly, this map identifies product areas from filenames but omits unverified calls, data flows, and integrations.

Main entry points: [`lib/main.dart`](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/main.dart) (Flutter entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["App Entry"]
  node_main["Flutter entry<br/>[main.dart]"]
end

subgraph group_auth["Onboarding and Auth"]
  node_onboarding["Onboarding"]
  node_login["Login<br/>[login_screen.dart]"]
  node_signup["Sign up<br/>[signup_screen.dart]"]
  node_verify["Verification<br/>[verify_screen.dart]"]
  node_reset["Password reset"]
end

subgraph group_donor["Donor Journeys"]
  node_home["Home<br/>[home_screen.dart]"]
  node_find["Find donor"]
  node_donation["Donation"]
  node_request["Request donor"]
end

subgraph group_account["Account"]
  node_profile["Profile"]
  node_notification_model["Notification model"]
end

subgraph group_shared["Shared UI and State"]
  node_request_state["Request state"]
  node_request_model["Request model<br/>[request_model.dart]"]
  node_shared_components["Shared components"]
end

node_user(("App user"))

node_user -->|"opens"| node_main

click node_main "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/main.dart"
click node_onboarding "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/onboarding_screen.dart"
click node_login "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/login_screen.dart"
click node_signup "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/signup_screen.dart"
click node_verify "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/verify_screen.dart"
click node_reset "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/reset_password_screen.dart"
click node_home "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/home_screen.dart"
click node_find "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/find_donor_screen.dart"
click node_donation "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/donation_screen.dart"
click node_request "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/request_donor_screen.dart"
click node_request_state "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/providers/request_provider.dart"
click node_request_model "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/models/request_model.dart"
click node_profile "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/profile_screen.dart"
click node_notification_model "https://github.com/nersus15/bloodgency-mobile/blob/main/lib/models/notification_model.dart"
click node_shared_components "https://github.com/nersus15/bloodgency-mobile/tree/main/lib/components"

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_user toneBlue
class node_onboarding,node_login,node_signup,node_verify,node_reset toneAmber
class node_home,node_find,node_donation,node_request toneMint
class node_profile,node_notification_model toneRose
class node_request_state,node_request_model,node_shared_components toneIndigo
```

## Components

### App Entry

- [Flutter entry](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/main.dart): `lib/main.dart`

### Onboarding and Auth

- [Onboarding](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/onboarding_screen.dart): `lib/screens/onboarding_screen.dart`
- [Login](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/login_screen.dart): `lib/screens/login_screen.dart`
- [Sign up](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/signup_screen.dart): `lib/screens/signup_screen.dart`
- [Verification](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/verify_screen.dart): `lib/screens/verify_screen.dart`
- [Password reset](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/reset_password_screen.dart): `lib/screens/reset_password_screen.dart`

### Donor Journeys

- [Home](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/home_screen.dart): `lib/screens/home_screen.dart`
- [Find donor](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/find_donor_screen.dart): `lib/screens/find_donor_screen.dart`
- [Donation](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/donation_screen.dart): `lib/screens/donation_screen.dart`
- [Request donor](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/request_donor_screen.dart): `lib/screens/request_donor_screen.dart`

### Account

- [Profile](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/screens/profile_screen.dart): `lib/screens/profile_screen.dart`
- [Notification model](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/models/notification_model.dart): `lib/models/notification_model.dart`

### Shared UI and State

- [Request state](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/providers/request_provider.dart): `lib/providers/request_provider.dart`
- [Request model](https://github.com/nersus15/bloodgency-mobile/blob/main/lib/models/request_model.dart): `lib/models/request_model.dart`
- [Shared components](https://github.com/nersus15/bloodgency-mobile/tree/main/lib/components): `lib/components`

### Other components

- **App user**

## Connections

- App user → Flutter entry: opens
