# sudhakar-2005/my-ml-projects architecture

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

- Interactive diagram: https://gitdiagram.com/sudhakar-2005/my-ml-projects
- Repository: https://github.com/sudhakar-2005/my-ml-projects

## Overview

The tree suggests an Android financial app with dashboard and analysis screens, financial data components, Gemini integration, and PDF reporting. The README only documents running an AI Studio Android app and configuring a Gemini key; it does not describe product behavior. Source excerpts contain no application code, so the workflow and connections below are tentative, based on component names and paths rather than verified calls.

Main entry points: [`app/src/main/java/com/example/ui/screens/DashboardScreens.kt`](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/DashboardScreens.kt) (Dashboard Screens), [`app/src/main/java/com/example/ui/viewmodel/FinancialViewModel.kt`](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/viewmodel/FinancialViewModel.kt) (Financial ViewModel), [`app/src/main/java/com/example/MainActivity.kt`](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/MainActivity.kt) (Main Activity), [`app/src/main/java/com/example/data/repository/FinancialRepository.kt`](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/repository/FinancialRepository.kt) (Financial Repository)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["App Experience"]
  node_activity["Main Activity<br/>[MainActivity.kt]"]
  node_dashboard["Dashboard Screens"]
  node_landing["Landing Screen<br/>[LandingScreen.kt]"]
  node_viewmodel["Financial ViewModel"]
end

subgraph group_insights["Financial Insights"]
  node_debate["AI Debate"]
  node_research["AI Research Report"]
  node_timeline["Investment Timeline"]
  node_marketdna["Market DNA"]
  node_moneyflow["Money Flow"]
  node_worldmarket["World Market Pulse"]
  node_pdf["PDF Reports"]
end

subgraph group_data["Financial Data"]
  node_repository["Financial Repository"]
  node_database[("Financial Database<br/>[FinancialDb.kt]")]
end

subgraph group_integration["External Integration"]
  node_geminiapi["Gemini API Client<br/>[GeminiApi.kt]"]
end

node_user(("App User"))
node_gemini{{"Gemini Service"}}

node_user -.->|"opens app"| node_activity
node_activity -.->|"shows screen"| node_landing
node_activity -.->|"shows screen"| node_dashboard
node_dashboard -.->|"requests data"| node_viewmodel
node_viewmodel -.->|"requests data"| node_repository
node_repository -.->|"reads and writes"| node_database
node_viewmodel -.->|"requests analysis"| node_geminiapi
node_geminiapi -.->|"sends requests"| node_gemini
node_dashboard -.->|"presents insight"| node_debate
node_dashboard -.->|"presents report"| node_research
node_dashboard -.->|"presents replay"| node_timeline
node_dashboard -.->|"presents analysis"| node_marketdna
node_dashboard -.->|"presents flow"| node_moneyflow
node_dashboard -.->|"presents markets"| node_worldmarket
node_viewmodel -.->|"generates report"| node_pdf

click node_activity "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/MainActivity.kt"
click node_dashboard "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/DashboardScreens.kt"
click node_landing "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/LandingScreen.kt"
click node_viewmodel "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/viewmodel/FinancialViewModel.kt"
click node_debate "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/AIDebateEngineComponent.kt"
click node_research "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/AIResearchReportGeneratorComponent.kt"
click node_timeline "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/InvestmentTimelineReplayComponent.kt"
click node_marketdna "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/MarketDnaComponent.kt"
click node_moneyflow "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/MoneyFlowVisualizerComponent.kt"
click node_worldmarket "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/WorldMarketPulseComponent.kt"
click node_pdf "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/utils/PdfReportGenerator.kt"
click node_repository "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/repository/FinancialRepository.kt"
click node_database "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/database/FinancialDb.kt"
click node_geminiapi "https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/api/GeminiApi.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_activity,node_dashboard,node_landing,node_viewmodel,node_user toneBlue
class node_debate,node_research,node_timeline,node_marketdna,node_moneyflow,node_worldmarket,node_pdf toneAmber
class node_repository,node_database toneMint
class node_geminiapi toneRose
class node_gemini toneIndigo
```

## Components

### App Experience

- [Main Activity](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/MainActivity.kt): `app/src/main/java/com/example/MainActivity.kt`
- [Dashboard Screens](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/DashboardScreens.kt): `app/src/main/java/com/example/ui/screens/DashboardScreens.kt`
- [Landing Screen](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/LandingScreen.kt): `app/src/main/java/com/example/ui/screens/LandingScreen.kt`
- [Financial ViewModel](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/viewmodel/FinancialViewModel.kt): `app/src/main/java/com/example/ui/viewmodel/FinancialViewModel.kt`

### Financial Insights

- [AI Debate](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/AIDebateEngineComponent.kt): `app/src/main/java/com/example/ui/screens/AIDebateEngineComponent.kt`
- [AI Research Report](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/AIResearchReportGeneratorComponent.kt): `app/src/main/java/com/example/ui/screens/AIResearchReportGeneratorComponent.kt`
- [Investment Timeline](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/InvestmentTimelineReplayComponent.kt): `app/src/main/java/com/example/ui/screens/InvestmentTimelineReplayComponent.kt`
- [Market DNA](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/MarketDnaComponent.kt): `app/src/main/java/com/example/ui/screens/MarketDnaComponent.kt`
- [Money Flow](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/MoneyFlowVisualizerComponent.kt): `app/src/main/java/com/example/ui/screens/MoneyFlowVisualizerComponent.kt`
- [World Market Pulse](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/ui/screens/WorldMarketPulseComponent.kt): `app/src/main/java/com/example/ui/screens/WorldMarketPulseComponent.kt`
- [PDF Reports](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/utils/PdfReportGenerator.kt): `app/src/main/java/com/example/utils/PdfReportGenerator.kt`

### Financial Data

- [Financial Repository](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/repository/FinancialRepository.kt): `app/src/main/java/com/example/data/repository/FinancialRepository.kt`
- [Financial Database](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/database/FinancialDb.kt): `app/src/main/java/com/example/data/database/FinancialDb.kt`

### External Integration

- [Gemini API Client](https://github.com/sudhakar-2005/my-ml-projects/blob/main/app/src/main/java/com/example/data/api/GeminiApi.kt): `app/src/main/java/com/example/data/api/GeminiApi.kt`

### Other components

- **App User**
- **Gemini Service**

## Connections

- App User → Main Activity: opens app
- Main Activity → Landing Screen: shows screen
- Main Activity → Dashboard Screens: shows screen
- Dashboard Screens → Financial ViewModel: requests data
- Financial ViewModel → Financial Repository: requests data
- Financial Repository → Financial Database: reads and writes
- Financial ViewModel → Gemini API Client: requests analysis
- Gemini API Client → Gemini Service: sends requests
- Dashboard Screens → AI Debate: presents insight
- Dashboard Screens → AI Research Report: presents report
- Dashboard Screens → Investment Timeline: presents replay
- Dashboard Screens → Market DNA: presents analysis
- Dashboard Screens → Money Flow: presents flow
- Dashboard Screens → World Market Pulse: presents markets
- Financial ViewModel → PDF Reports: generates report
