# sadiq1180/money-split-wise-app architecture

> Architecture diagram of the GitHub repository sadiq1180/money-split-wise-app, 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/sadiq1180/money-split-wise-app
- Repository: https://github.com/sadiq1180/money-split-wise-app

## Overview

This is a Flutter expense-sharing app: its screens indicate workflows for signing in, forming groups, recording bills, choosing who paid and splitting costs, then reviewing expenses and transactions. The tree also exposes friend/group, insights, notifications, profile, localization, theme, and API layers. The README is only a Flutter starter description, and sampled source does not include Dart implementation, so component wiring and external service behavior cannot be verified; uncertain connections are omitted.

Main entry points: [`lib/main.dart`](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/main.dart) (Flutter entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shell["App shell"]
  node_entry["Flutter entry<br/>[main.dart]"]
  node_navigation["Navigation"]
  node_main_screen["Main screens<br/>[main_screen.dart]"]
end

subgraph group_expenses["Expense workflows"]
  node_add_bill["Add bill"]
  node_payer["Choose payer"]
  node_split["Adjust split"]
  node_split_types["Split methods"]
  node_groups["Create groups"]
end

subgraph group_social["Shared activity"]
  node_home["Expense overview"]
  node_friends["Friends and groups"]
  node_insights["Spending insights"]
  node_notifications["Notifications"]
end

subgraph group_account["Account access"]
  node_login["Sign in<br/>[login_screen.dart]"]
  node_signup["Sign up<br/>[sign_up.dart]"]
  node_profile["User profile"]
end

subgraph group_platform["App services"]
  node_auth["Authentication<br/>[auth_service.dart]"]
  node_providers["State providers"]
  node_api["API services"]
  node_localization["Localization"]
  node_persistence["Local persistence"]
end

node_user(("App user"))

node_user -->|"launches"| node_entry

click node_entry "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/main.dart"
click node_navigation "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/navigation"
click node_main_screen "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/main_screens/main_screen.dart"
click node_add_bill "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/add_bill_screen.dart"
click node_payer "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/who_paid_screen.dart"
click node_split "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/adjust_split_screen.dart"
click node_split_types "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/add_expenses/widgets/splits_types"
click node_groups "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/add_expenses/with_you_and"
click node_home "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/home_screen"
click node_friends "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/friends_group"
click node_insights "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/insight_screen/insight_screen.dart"
click node_notifications "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/notifications"
click node_login "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/onboarding_screens/login_screen.dart"
click node_signup "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/onboarding_screens/sign_up.dart"
click node_profile "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/profile/user_profile_screen.dart"
click node_auth "https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/services/auth_service.dart"
click node_providers "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/providers"
click node_api "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/domain/api_services"
click node_localization "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/localization"
click node_persistence "https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/app_persistance"

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_entry,node_navigation,node_main_screen,node_user toneBlue
class node_add_bill,node_payer,node_split,node_split_types,node_groups toneAmber
class node_home,node_friends,node_insights,node_notifications toneMint
class node_login,node_signup,node_profile toneRose
class node_auth,node_providers,node_api,node_localization,node_persistence toneIndigo
```

## Components

### App shell

- [Flutter entry](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/main.dart): `lib/main.dart`
- [Navigation](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/navigation): `lib/shared/navigation`
- [Main screens](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/main_screens/main_screen.dart): `lib/presentation/views/screens/main_screens/main_screen.dart`

### Expense workflows

- [Add bill](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/add_bill_screen.dart): `lib/presentation/views/screens/add_expenses/add_bill_screen.dart`
- [Choose payer](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/who_paid_screen.dart): `lib/presentation/views/screens/add_expenses/who_paid_screen.dart`
- [Adjust split](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/add_expenses/adjust_split_screen.dart): `lib/presentation/views/screens/add_expenses/adjust_split_screen.dart`
- [Split methods](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/add_expenses/widgets/splits_types): `lib/presentation/views/screens/add_expenses/widgets/splits_types`
- [Create groups](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/add_expenses/with_you_and): `lib/presentation/views/screens/add_expenses/with_you_and`

### Shared activity

- [Expense overview](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/home_screen): `lib/presentation/views/screens/home_screen`
- [Friends and groups](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/friends_group): `lib/presentation/views/screens/friends_group`
- [Spending insights](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/insight_screen/insight_screen.dart): `lib/presentation/views/screens/insight_screen/insight_screen.dart`
- [Notifications](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/presentation/views/screens/notifications): `lib/presentation/views/screens/notifications`

### Account access

- [Sign in](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/onboarding_screens/login_screen.dart): `lib/presentation/views/screens/onboarding_screens/login_screen.dart`
- [Sign up](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/onboarding_screens/sign_up.dart): `lib/presentation/views/screens/onboarding_screens/sign_up.dart`
- [User profile](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/presentation/views/screens/profile/user_profile_screen.dart): `lib/presentation/views/screens/profile/user_profile_screen.dart`

### App services

- [Authentication](https://github.com/sadiq1180/money-split-wise-app/blob/main/lib/services/auth_service.dart): `lib/services/auth_service.dart`
- [State providers](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/providers): `lib/providers`
- [API services](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/domain/api_services): `lib/domain/api_services`
- [Localization](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/localization): `lib/shared/localization`
- [Local persistence](https://github.com/sadiq1180/money-split-wise-app/tree/main/lib/shared/app_persistance): `lib/shared/app_persistance`

### Other components

- **App user**

## Connections

- App user → Flutter entry: launches
