How lakshaysawhney/stockpulse works
StockPulse is a market-analysis web application: users authenticate, then use portfolio analysis, market forecasts and video discovery, an AI finance chat, community discussions, and portfolio backtesting. The Next.js client sends API requests through a shared client to Django services; portfolio analysis is implemented with CrewAI agents and market-data tools. The README documents major capabilities not fully visible in the excerpts, so those branches are represented at their documented feature level. Some backend routing and storage interactions are unsampled; those relationships are omitted or marked unverified.
Main entry points: api.js API client · analyzer/page.js Portfolio analyzer · chat/page.js Finance assistant · community/page.js Community feed
Components 19
Web client
- Sign in
client/app/AuthProvider.js - API client
client/utils/api.js - Dashboard
client/app/page.js - Portfolio analyzer
client/app/analyzer/page.js - Market explorer
client/app/market/page.js - Finance assistant
client/app/chat/page.js - Community feed
client/app/community/page.js - Report renderer
client/app/components/Markdown.js
Django services
- Authentication API
server/Stock_pulse/Auth/views.py - Portfolio API
server/Stock_pulse/Portfolios/views.py - Portfolio records
server/Stock_pulse/Portfolios/models.py - Investment services
server/Stock_pulse/InvestmentSection/views.py - Live discussions
server/Stock_pulse/InvestmentSection/consumers.py
AI and market data
- Agent endpoints
server/Stock_pulse/Agents/views.py - Analysis crews
server/Stock_pulse/Agents/Crews/crews.py - Market data tools
server/Stock_pulse/Agents/Crews/tools.py
Application state
- PostgreSQL
Other components
- Investor
- Market data providers
Connections 27
- Investor → Sign in: signs in
client/app/AuthProvider.js - Sign in → API client: authenticates through
client/app/AuthProvider.js - Investor → Dashboard: explores
README.md - Dashboard → API client: requests data
client/app/page.js - Investor → Portfolio analyzer: submits holdings
client/app/analyzer/page.js - Portfolio analyzer → API client: requests analysis
client/app/analyzer/page.js - Portfolio analyzer → Report renderer: renders report
client/app/analyzer/page.js - Investor → Market explorer: explores trends
README.md - Market explorer → API client: requests forecasts
client/app/market/page.js - Investor → Finance assistant: asks questions
README.md - Finance assistant → API client: sends queries
client/app/chat/page.js - Finance assistant → Report renderer: renders replies
client/app/chat/page.js - Investor → Community feed: posts messages
README.md - Community feed → API client: opens live connection
client/app/community/page.js - API client → Authentication API: calls auth endpoints
- Authentication API → PostgreSQL: accesses user data
- API client → Portfolio API: calls portfolio endpoints
- Portfolio API → Portfolio records: uses portfolio records
server/Stock_pulse/Portfolios/views.py - Investor → Investment services: backtests portfolio
README.md - Investor → Market explorer: searches videos
README.md - API client → Investment services: requests investment data
- API client → Agent endpoints: requests AI analysis
- Agent endpoints → Analysis crews: invokes crews
server/Stock_pulse/Agents/views.py - Analysis crews → Market data tools: uses analysis tools
server/Stock_pulse/Agents/Crews/crews.py - Market data tools → Market data providers: fetches prices and news
- Community feed → Live discussions: exchanges live messages
README.md - Live discussions → PostgreSQL: persists discussions