# mohammadhassan-panahi/financialledgerapp architecture

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

## Overview

DARA is an Android personal-finance and investment app. Users track assets and transactions, review portfolio and market information, and use analysis tools; the README also highlights AI advice and news summaries, technical indicators, watchlists, alerts, and a financial calendar. Local portfolio privacy and external market/AI services are documented, but source excerpts were not provided, so internal call paths and subsystem wiring cannot be verified; edges below reflect README-level relationships only.

Main entry points: [`app/src/main/java/com/example/ui/screens/MarketHubScreen.kt`](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/MarketHubScreen.kt) (Market center), [`app/src/main/java/com/example/MainActivity.kt`](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/MainActivity.kt) (Android app), [`app/src/main/java/com/example/ui/portfolio/PortfolioScreen.kt`](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/portfolio/PortfolioScreen.kt) (Portfolio views), [`app/src/main/java/com/example/ui/screens/AdvancedWatchlistScreen.kt`](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/AdvancedWatchlistScreen.kt) (Watchlists)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App experience"]
  node_entry["Android app<br/>[MainActivity.kt]"]
  node_navigation["App navigation<br/>[NavGraph.kt]"]
  node_dashboard["Dashboard"]
end

subgraph group_portfolio["Portfolio management"]
  node_portfolio_ui["Portfolio views<br/>[PortfolioScreen.kt]"]
  node_transactions["Transactions<br/>[TransactionDao.kt]"]
  node_calendar["Financial calendar<br/>[CalendarScreen.kt]"]
  node_local_store[("Encrypted local data<br/>[AppDatabase.kt]")]
end

subgraph group_markets["Market intelligence"]
  node_market_hub["Market center<br/>[MarketHubScreen.kt]"]
  node_market_data["Market services"]
  node_crypto_data["Crypto services"]
  node_watchlist["Watchlists"]
  node_alerts["Price alerts"]
end

subgraph group_analysis["Analysis and planning"]
  node_technical["Technical analysis"]
  node_indicators["Market indicators<br/>[Indicators.kt]"]
  node_ai["Dara AI<br/>[AiRepository.kt]"]
  node_news["News summaries<br/>[NewsRepository.kt]"]
  node_planning["Financial planning"]
end

node_user(("Investor"))
node_market_api{{"Market data providers"}}
node_gemini{{"Gemini AI"}}

node_user -->|"uses"| node_entry
node_entry -.->|"opens"| node_navigation
node_user -->|"tracks assets"| node_portfolio_ui
node_portfolio_ui -->|"stores locally"| node_local_store
node_user -->|"records activity"| node_transactions
node_user -->|"reviews activity"| node_calendar
node_user -->|"monitors markets"| node_market_hub
node_market_hub -->|"gets live rates"| node_market_api
node_market_hub -.->|"gets crypto data"| node_crypto_data
node_user -->|"organizes assets"| node_watchlist
node_watchlist -.->|"sets alerts"| node_alerts
node_user -->|"views analysis"| node_technical
node_technical -->|"uses indicators"| node_indicators
node_user -->|"requests advice"| node_ai
node_ai -->|"uses AI"| node_gemini
node_user -->|"reads summaries"| node_news
node_user -.->|"uses calculators"| node_planning

click node_entry "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/MainActivity.kt"
click node_navigation "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/navigation/NavGraph.kt"
click node_dashboard "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/dashboard/DaraDashboardScreen.kt"
click node_portfolio_ui "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/portfolio/PortfolioScreen.kt"
click node_transactions "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/local/TransactionDao.kt"
click node_calendar "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/CalendarScreen.kt"
click node_local_store "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/local/AppDatabase.kt"
click node_market_hub "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/MarketHubScreen.kt"
click node_market_data "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/remote/MarketApiService.kt"
click node_crypto_data "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/remote/CoinMarketCapApiService.kt"
click node_watchlist "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/AdvancedWatchlistScreen.kt"
click node_alerts "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/worker/PriceAlertWorker.kt"
click node_technical "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/crypto/analysis/TechnicalAnalysisEngine.kt"
click node_indicators "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/crypto/analysis/Indicators.kt"
click node_ai "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/repository/AiRepository.kt"
click node_news "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/repository/NewsRepository.kt"
click node_planning "https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/CalculatorsHubScreen.kt"

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_dashboard toneBlue
class node_portfolio_ui,node_transactions,node_calendar,node_local_store toneAmber
class node_market_hub,node_market_data,node_crypto_data,node_watchlist,node_alerts toneMint
class node_technical,node_indicators,node_ai,node_news,node_planning toneRose
class node_user,node_market_api,node_gemini toneIndigo
```

## Components

### App experience

- [Android app](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/MainActivity.kt): `app/src/main/java/com/example/MainActivity.kt`
- [App navigation](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/navigation/NavGraph.kt): `app/src/main/java/com/example/navigation/NavGraph.kt`
- [Dashboard](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/dashboard/DaraDashboardScreen.kt): `app/src/main/java/com/example/ui/dashboard/DaraDashboardScreen.kt`

### Portfolio management

- [Portfolio views](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/portfolio/PortfolioScreen.kt): `app/src/main/java/com/example/ui/portfolio/PortfolioScreen.kt`
- [Transactions](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/local/TransactionDao.kt): `app/src/main/java/com/example/data/local/TransactionDao.kt`
- [Financial calendar](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/CalendarScreen.kt): `app/src/main/java/com/example/ui/screens/CalendarScreen.kt`
- [Encrypted local data](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/local/AppDatabase.kt): `app/src/main/java/com/example/data/local/AppDatabase.kt`

### Market intelligence

- [Market center](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/MarketHubScreen.kt): `app/src/main/java/com/example/ui/screens/MarketHubScreen.kt`
- [Market services](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/remote/MarketApiService.kt): `app/src/main/java/com/example/data/remote/MarketApiService.kt`
- [Crypto services](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/remote/CoinMarketCapApiService.kt): `app/src/main/java/com/example/data/remote/CoinMarketCapApiService.kt`
- [Watchlists](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/AdvancedWatchlistScreen.kt): `app/src/main/java/com/example/ui/screens/AdvancedWatchlistScreen.kt`
- [Price alerts](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/worker/PriceAlertWorker.kt): `app/src/main/java/com/example/worker/PriceAlertWorker.kt`

### Analysis and planning

- [Technical analysis](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/crypto/analysis/TechnicalAnalysisEngine.kt): `app/src/main/java/com/example/crypto/analysis/TechnicalAnalysisEngine.kt`
- [Market indicators](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/crypto/analysis/Indicators.kt): `app/src/main/java/com/example/crypto/analysis/Indicators.kt`
- [Dara AI](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/repository/AiRepository.kt): `app/src/main/java/com/example/data/repository/AiRepository.kt`
- [News summaries](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/data/repository/NewsRepository.kt): `app/src/main/java/com/example/data/repository/NewsRepository.kt`
- [Financial planning](https://github.com/mohammadhassan-panahi/financialledgerapp/blob/master/app/src/main/java/com/example/ui/screens/CalculatorsHubScreen.kt): `app/src/main/java/com/example/ui/screens/CalculatorsHubScreen.kt`

### Other components

- **Investor**
- **Market data providers**
- **Gemini AI**

## Connections

- Investor → Android app: uses (evidence: `README.md`)
- Android app → App navigation: opens
- Investor → Portfolio views: tracks assets (evidence: `README.md`)
- Portfolio views → Encrypted local data: stores locally (evidence: `README.md`)
- Investor → Transactions: records activity (evidence: `README.md`)
- Investor → Financial calendar: reviews activity (evidence: `README.md`)
- Investor → Market center: monitors markets (evidence: `README.md`)
- Market center → Market data providers: gets live rates (evidence: `README.md`)
- Market center → Crypto services: gets crypto data
- Investor → Watchlists: organizes assets (evidence: `README.md`)
- Watchlists → Price alerts: sets alerts
- Investor → Technical analysis: views analysis (evidence: `README.md`)
- Technical analysis → Market indicators: uses indicators (evidence: `README.md`)
- Investor → Dara AI: requests advice (evidence: `README.md`)
- Dara AI → Gemini AI: uses AI (evidence: `README.md`)
- Investor → News summaries: reads summaries (evidence: `README.md`)
- Investor → Financial planning: uses calculators
