# saviosailas/financemobileapp architecture

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

## Overview

FinanceTracker is a cross-platform personal-finance app built with SwiftUI and Skip, with iOS and Android entry points. Its current user-facing flow is a dashboard showing a greeting, a balance summary, and a transaction list; the add-transaction control is present but has no implemented action. On startup, the shared root view asks the database manager to create the transaction table. The sampled UI uses hardcoded display values, so no transaction-entry, aggregation, or listing flow to persistent data is evidenced.

Main entry points: [`Sources/FinanceTracker/ContentView.swift`](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/ContentView.swift) (Dashboard), [`Sources/FinanceTracker/FinanceTrackerApp.swift`](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/FinanceTrackerApp.swift) (App root), [`Sources/FinanceTracker/Database/DatabaseManager.swift`](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Database/DatabaseManager.swift) (Database manager), [`Darwin/Sources/Main.swift`](https://github.com/saviosailas/financemobileapp/blob/develop/Darwin/Sources/Main.swift) (iOS entry)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_platform["Platform entry"]
  node_ios["iOS entry<br/>[Main.swift]"]
  node_android["Android entry<br/>[Main.kt]"]
end

subgraph group_presentation["Finance dashboard"]
  node_root["App root"]
  node_dashboard["Dashboard<br/>[ContentView.swift]"]
  node_greeting["Greeting"]
  node_balance["Balance card"]
  node_transaction_list["Transaction rows"]
end

subgraph group_data["Transaction storage"]
  node_database_manager["Database manager"]
  node_transaction_model["Transaction model<br/>[Transaction.swift]"]
  node_sqlite[("SQLite database")]
end

node_user(("Mobile user"))

node_ios -->|"loads"| node_root
node_android -->|"renders"| node_root
node_user -->|"views"| node_dashboard
node_dashboard -->|"displays"| node_greeting
node_dashboard -->|"displays"| node_balance
node_dashboard -->|"displays"| node_transaction_list
node_root -->|"loads"| node_dashboard
node_root -->|"creates tables"| node_database_manager
node_database_manager -->|"uses schema"| node_transaction_model
node_database_manager -->|"creates table"| node_sqlite

click node_ios "https://github.com/saviosailas/financemobileapp/blob/develop/Darwin/Sources/Main.swift"
click node_android "https://github.com/saviosailas/financemobileapp/blob/develop/Android/app/src/main/kotlin/Main.kt"
click node_root "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/FinanceTrackerApp.swift"
click node_dashboard "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/ContentView.swift"
click node_greeting "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/GreetingsView.swift"
click node_balance "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/FinanceStatusCardView.swift"
click node_transaction_list "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/DebitListView.swift"
click node_database_manager "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Database/DatabaseManager.swift"
click node_transaction_model "https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Database/Transaction.swift"

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_ios,node_android,node_user toneBlue
class node_root,node_dashboard,node_greeting,node_balance,node_transaction_list toneAmber
class node_database_manager,node_transaction_model,node_sqlite toneMint
```

## Components

### Platform entry

- [iOS entry](https://github.com/saviosailas/financemobileapp/blob/develop/Darwin/Sources/Main.swift): `Darwin/Sources/Main.swift`
- [Android entry](https://github.com/saviosailas/financemobileapp/blob/develop/Android/app/src/main/kotlin/Main.kt): `Android/app/src/main/kotlin/Main.kt`

### Finance dashboard

- [App root](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/FinanceTrackerApp.swift): `Sources/FinanceTracker/FinanceTrackerApp.swift`
- [Dashboard](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/ContentView.swift): `Sources/FinanceTracker/ContentView.swift`
- [Greeting](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/GreetingsView.swift): `Sources/FinanceTracker/Scaffold/GreetingsView.swift`
- [Balance card](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/FinanceStatusCardView.swift): `Sources/FinanceTracker/Scaffold/FinanceStatusCardView.swift`
- [Transaction rows](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Scaffold/DebitListView.swift): `Sources/FinanceTracker/Scaffold/DebitListView.swift`

### Transaction storage

- [Database manager](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Database/DatabaseManager.swift): `Sources/FinanceTracker/Database/DatabaseManager.swift`
- [Transaction model](https://github.com/saviosailas/financemobileapp/blob/develop/Sources/FinanceTracker/Database/Transaction.swift): `Sources/FinanceTracker/Database/Transaction.swift`
- **SQLite database**

### Other components

- **Mobile user**

## Connections

- iOS entry → App root: loads
- Android entry → App root: renders
- Mobile user → Dashboard: views
- Dashboard → Greeting: displays
- Dashboard → Balance card: displays
- Dashboard → Transaction rows: displays
- App root → Dashboard: loads
- App root → Database manager: creates tables
- Database manager → Transaction model: uses schema
- Database manager → SQLite database: creates table
