graph TD
subgraph "Main Features"
CHAT[AI Chat Assistant]
DASH[Market Dashboard]
PORT[Portfolio Tracker]
NEWS[News Aggregator]
end
subgraph "Chat Features"
CHAT --> Q1[Stock Queries]
CHAT --> Q2[Market Analysis]
CHAT --> Q3[Investment Advice]
CHAT --> TOOLS[Tool Integration]
end
subgraph "Dashboard Features"
DASH --> IND[Market Indices]
DASH --> GAIN[Top Gainers]
DASH --> LOSE[Top Losers]
end
subgraph "Portfolio Features"
PORT --> HOLD[Holdings View]
PORT --> PERF[Performance Metrics]
PORT --> VAL[Total Valuation]
end
subgraph "News Features"
NEWS --> LATEST[Latest Articles]
NEWS --> SENT[Sentiment Analysis]
NEWS --> FILT[Filter by Topic]
end
style CHAT fill:#3b82f6
style DASH fill:#10b981
style PORT fill:#f59e0b
style NEWS fill:#ef4444
1. Chat Interface Flow
stateDiagram-v2
[*] --> Idle
Idle --> UserTyping: User starts typing
UserTyping --> MessageSent: User sends message
MessageSent --> Loading: API call initiated
Loading --> ProcessingAI: Backend processing
ProcessingAI --> GeneratingTools: Creating tool results
GeneratingTools --> ResponseReady: Response prepared
ResponseReady --> DisplayingMessage: Show AI response
DisplayingMessage --> DisplayingTools: Show tool cards
DisplayingTools --> Idle: Ready for next message
note right of ProcessingAI: AI analyzes query and determines needed tools
note right of GeneratingTools: Stock prices, news, market data fetched
2. Dashboard Data Flow
graph LR
subgraph "Data Sources"
MS[Market Service]
PS[Portfolio Service]
NS[News Service]
end
subgraph "API Endpoints"
E1["GET /api/v1/market/summary"]
E2["GET /api/v1/portfolio/"]
E3["GET /api/v1/news/"]
end
subgraph "Dashboard Components"
MO[Market Overview]
PF[Portfolio Summary]
NF[News Feed]
end
subgraph "UI Elements"
IND2[Index Cards]
STK[Stock Cards]
POS[Position Cards]
ART[Article Cards]
end
MS --> E1
PS --> E2
NS --> E3
E1 --> MO
E2 --> PF
E3 --> NF
MO --> IND2
MO --> STK
PF --> POS
NF --> ART
style MS fill:#009485
style PS fill:#009485
style NS fill:#009485
3. User Journey Map
journey
title User Journey - Financial AI Assistant
section First Visit
Load Application: 5: User
View Dashboard: 4: User
Explore Features: 3: User
section Using Chat
Ask About Stock: 5: User
Receive AI Response: 5: User
View Stock Card: 4: User
Ask Follow-up: 5: User
section Portfolio Review
Switch to Dashboard: 5: User
Check Holdings: 4: User
View Performance: 4: User
Read News: 3: User
section Regular Use
Daily Market Check: 5: User
Portfolio Monitoring: 4: User
Investment Decisions: 5: User
4. Tool Integration in Chat
graph TD
subgraph "User Query Analysis"
Q[User Query] --> A{Query Type?}
end
subgraph "Tool Selection"
A -->|Stock Price| SP[Stock Price Tool]
A -->|News Request| NT[News Tool]
A -->|Market Overview| MT[Market Tool]
A -->|Sentiment| ST[Sentiment Tool]
end
subgraph "Data Fetching"
SP --> SPD[Fetch Stock Data]
NT --> NTD[Fetch News Data]
MT --> MTD[Fetch Market Data]
ST --> STD[Analyze Sentiment]
end
subgraph "Response Generation"
SPD --> R[Combined Response]
NTD --> R
MTD --> R
STD --> R
end
subgraph "UI Rendering"
R --> TC[Text Content]
R --> VC[Visual Cards]
end
style Q fill:#fbbf24
style R fill:#4ade80
5. Portfolio Management Flow
graph TB
subgraph "Portfolio Data"
H[Holdings]
P[Prices]
G[Gains/Losses]
end
subgraph "Calculations"
H --> TV[Total Value]
P --> TV
H --> PG[Position Gains]
P --> PG
PG --> TP[Total Performance]
end
subgraph "Display"
TV --> SUM[Summary Card]
TP --> SUM
PG --> POS2[Position Cards]
end
subgraph "User Actions"
SUM --> D1[View Details]
POS2 --> D2[Stock Analysis]
D2 --> CHAT2[Ask AI Assistant]
end
style H fill:#818cf8
style TV fill:#10b981
style SUM fill:#f59e0b
6. News Processing Pipeline
flowchart LR
subgraph "News Sources (Real Data)"
S1[NewsAPI]
S2[Financial News]
S3[Market Updates]
S4[Company News]
end
subgraph "Processing"
AGG[Aggregation]
SENT2[Sentiment Analysis]
CAT[Categorization]
end
subgraph "Filtering"
F1[By Date]
F2[By Relevance]
F3[By Sentiment]
end
subgraph "Display"
LIST[News List]
CARD[News Cards]
SUM2[Summary View]
end
S1 --> AGG
S2 --> AGG
S3 --> AGG
S4 --> AGG
AGG --> SENT2
SENT2 --> CAT
CAT --> F1
CAT --> F2
CAT --> F3
F1 --> LIST
F2 --> LIST
F3 --> LIST
LIST --> CARD
CARD --> SUM2
style AGG fill:#3b82f6
style SENT2 fill:#ef4444
Feature Details
1. AI Chat Assistant
Natural Language Processing: Understands financial queries using Google Gemini AI
Context Awareness: Maintains conversation history with Neo4j memory system
Tool Integration: Automatically fetches relevant data from real market APIs
Response Types: Text explanations + visual data cards with real-time data