# mohankumarsl2005/fintechstation architecture

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

## Overview

FinTechStation is a multi-asset market terminal: users browse market summaries and filter instruments, then inspect charts, create trading plans, and record or monitor activity. The React app is the main user-facing entry point; its API client supports workspace data, while the tree and README describe a Spring scanner backend and an Express API server. These appear to be alternative or overlapping runtime paths, so the graph does not imply they are wired together. Feature links beyond sampled code follow the README; unsampled subsystem internals are not inferred.

Main entry points: [`src/App.tsx`](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/App.tsx) (Application Shell), [`backend/src/main/java/com/fintechstation/service/MarketScannerService.java`](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/service/MarketScannerService.java) (Scan And Overview Logic), [`server.ts`](https://github.com/mohankumarsl2005/fintechstation/blob/main/server.ts) (Express API), [`src/components/plan/TradingPlanModule.tsx`](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/plan/TradingPlanModule.tsx) (Trading Plan)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Terminal UI"]
  node_app["Application Shell<br/>[App.tsx]"]
  node_market_ui["Market Dashboard"]
  node_scanner_ui["Multi-Asset Scanner"]
  node_chart["Chart Analysis"]
end

subgraph group_market["Market Services"]
  node_api_client["API Client<br/>[api.ts]"]
  node_scanner_controller["Scanner API"]
  node_overview_controller["Overview API"]
  node_scanner_service["Scan And Overview Logic"]
  node_express_api["Express API<br/>[server.ts]"]
end

subgraph group_workspace["Trading Workspace"]
  node_plan["Trading Plan"]
  node_research["AI Research"]
  node_news["News And Macro<br/>[NewsModule.tsx]"]
  node_journal["Trading Journal"]
  node_watchlist["Watchlists"]
  node_alerts["Price Alerts<br/>[AlertsModule.tsx]"]
end

subgraph group_data["Data And Integrations"]
  node_mock_data["Demo Market Data<br/>[mockMarketData.ts]"]
  node_postgres[("PostgreSQL")]
  node_quote_repo["Quote Repository"]
  node_instrument_repo["Instrument Repository"]
end

node_trader(("Trader"))
node_gemini{{"Gemini AI"}}

node_trader -->|"uses"| node_app
node_app -->|"renders"| node_market_ui
node_app -->|"renders"| node_scanner_ui
node_app -->|"renders"| node_chart
node_app -->|"renders"| node_plan
node_app -->|"renders"| node_research
node_app -->|"renders"| node_news
node_app -->|"renders"| node_journal
node_app -->|"renders"| node_watchlist
node_app -->|"renders"| node_alerts
node_app -->|"loads workspace data"| node_api_client
node_app -->|"passes instrument data"| node_plan
node_plan -->|"submits trade"| node_app
node_app -->|"passes trade actions"| node_journal
node_app -->|"passes watchlist state"| node_watchlist
node_app -->|"passes alert actions"| node_alerts
node_api_client -->|"requests API data"| node_express_api
node_trader -->|"requests scan"| node_scanner_controller
node_scanner_controller -->|"scans instruments"| node_scanner_service
node_trader -->|"requests overview"| node_overview_controller
node_overview_controller -->|"gets overview"| node_scanner_service
node_express_api -.->|"generates research"| node_gemini
node_express_api -->|"reads demo data"| node_mock_data
node_scanner_service -.->|"reads quotes"| node_quote_repo
node_scanner_service -.->|"reads instruments"| node_instrument_repo
node_quote_repo -->|"queries"| node_postgres
node_instrument_repo -->|"queries"| node_postgres

click node_app "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/App.tsx"
click node_market_ui "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/dashboard/MarketOverviewCards.tsx"
click node_scanner_ui "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/scanner/GlobalMarketScanner.tsx"
click node_chart "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/chart/InteractiveChart.tsx"
click node_plan "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/plan/TradingPlanModule.tsx"
click node_research "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/research/AiResearchModule.tsx"
click node_news "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/news/NewsModule.tsx"
click node_journal "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/journal/TradingJournalModule.tsx"
click node_watchlist "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/watchlist/WatchlistModule.tsx"
click node_alerts "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/alerts/AlertsModule.tsx"
click node_api_client "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/services/api.ts"
click node_scanner_controller "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/controller/MarketScannerController.java"
click node_overview_controller "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/controller/MarketOverviewController.java"
click node_scanner_service "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/service/MarketScannerService.java"
click node_express_api "https://github.com/mohankumarsl2005/fintechstation/blob/main/server.ts"
click node_mock_data "https://github.com/mohankumarsl2005/fintechstation/blob/main/src/data/mockMarketData.ts"
click node_postgres "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/resources/db/migration/V1__init_schema.sql"
click node_quote_repo "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/repository/MarketQuoteRepository.java"
click node_instrument_repo "https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/repository/InstrumentRepository.java"

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_app,node_market_ui,node_scanner_ui,node_chart toneBlue
class node_api_client,node_scanner_controller,node_overview_controller,node_scanner_service,node_express_api toneAmber
class node_plan,node_research,node_news,node_journal,node_watchlist,node_alerts toneMint
class node_mock_data,node_postgres,node_quote_repo,node_instrument_repo toneRose
class node_trader,node_gemini toneIndigo
```

## Components

### Terminal UI

- [Application Shell](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/App.tsx): `src/App.tsx`
- [Market Dashboard](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/dashboard/MarketOverviewCards.tsx): `src/components/dashboard/MarketOverviewCards.tsx`
- [Multi-Asset Scanner](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/scanner/GlobalMarketScanner.tsx): `src/components/scanner/GlobalMarketScanner.tsx`
- [Chart Analysis](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/chart/InteractiveChart.tsx): `src/components/chart/InteractiveChart.tsx`

### Market Services

- [API Client](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/services/api.ts): `src/services/api.ts`
- [Scanner API](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/controller/MarketScannerController.java): `backend/src/main/java/com/fintechstation/controller/MarketScannerController.java`
- [Overview API](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/controller/MarketOverviewController.java): `backend/src/main/java/com/fintechstation/controller/MarketOverviewController.java`
- [Scan And Overview Logic](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/service/MarketScannerService.java): `backend/src/main/java/com/fintechstation/service/MarketScannerService.java`
- [Express API](https://github.com/mohankumarsl2005/fintechstation/blob/main/server.ts): `server.ts`

### Trading Workspace

- [Trading Plan](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/plan/TradingPlanModule.tsx): `src/components/plan/TradingPlanModule.tsx`
- [AI Research](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/research/AiResearchModule.tsx): `src/components/research/AiResearchModule.tsx`
- [News And Macro](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/news/NewsModule.tsx): `src/components/news/NewsModule.tsx`
- [Trading Journal](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/journal/TradingJournalModule.tsx): `src/components/journal/TradingJournalModule.tsx`
- [Watchlists](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/watchlist/WatchlistModule.tsx): `src/components/watchlist/WatchlistModule.tsx`
- [Price Alerts](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/components/alerts/AlertsModule.tsx): `src/components/alerts/AlertsModule.tsx`

### Data And Integrations

- [Demo Market Data](https://github.com/mohankumarsl2005/fintechstation/blob/main/src/data/mockMarketData.ts): `src/data/mockMarketData.ts`
- [PostgreSQL](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/resources/db/migration/V1__init_schema.sql): `backend/src/main/resources/db/migration/V1__init_schema.sql`
- [Quote Repository](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/repository/MarketQuoteRepository.java): `backend/src/main/java/com/fintechstation/repository/MarketQuoteRepository.java`
- [Instrument Repository](https://github.com/mohankumarsl2005/fintechstation/blob/main/backend/src/main/java/com/fintechstation/repository/InstrumentRepository.java): `backend/src/main/java/com/fintechstation/repository/InstrumentRepository.java`

### Other components

- **Trader**
- **Gemini AI**

## Connections

- Trader → Application Shell: uses
- Application Shell → Market Dashboard: renders
- Application Shell → Multi-Asset Scanner: renders
- Application Shell → Chart Analysis: renders
- Application Shell → Trading Plan: renders
- Application Shell → AI Research: renders
- Application Shell → News And Macro: renders
- Application Shell → Trading Journal: renders
- Application Shell → Watchlists: renders
- Application Shell → Price Alerts: renders
- Application Shell → API Client: loads workspace data
- Application Shell → Trading Plan: passes instrument data
- Trading Plan → Application Shell: submits trade
- Application Shell → Trading Journal: passes trade actions
- Application Shell → Watchlists: passes watchlist state
- Application Shell → Price Alerts: passes alert actions
- API Client → Express API: requests API data
- Trader → Scanner API: requests scan
- Scanner API → Scan And Overview Logic: scans instruments
- Trader → Overview API: requests overview
- Overview API → Scan And Overview Logic: gets overview
- Express API → Gemini AI: generates research
- Express API → Demo Market Data: reads demo data
- Scan And Overview Logic → Quote Repository: reads quotes
- Scan And Overview Logic → Instrument Repository: reads instruments
- Quote Repository → PostgreSQL: queries
- Instrument Repository → PostgreSQL: queries
