How sathwikarevoori/stock-market-dashboard works
This is a stock and portfolio tracking application with a React client and an Express/MongoDB server. The intended user workflow spans account access, stock lookup, transaction entry, portfolio valuation and analytics, and report download. The sampled Dashboard implements several of these interactions, but it is not among the routes registered in the sampled App; other page and route implementations were not provided. The graph therefore shows only supported wiring and keeps uncertain report and watchlist connections out.
Main entry points: Dashboard.js Dashboard · server.js API server · App.js React app · ProtectedRoutes.js Protected routes
Components 27
Client experience
Identity
- Auth context
client/src/context/AuthContext.js - Protected routes
client/src/components/ProtectedRoutes.js - Login and register
client/src/pages/Login.js - Auth API
server/routes/auth.js - User records
server/models/User.js
Portfolio
- Transaction entry
client/src/pages/AddTransaction.js - Portfolio view
client/src/pages/PortfolioSummary.js - Portfolio analytics
client/src/pages/PortfolioAnalytics.js - Reports
client/src/pages/Reports.js - Portfolio API
server/routes/portfolio.js - Portfolio calculations
server/services/portfolioService.js - PDF generation
server/services/pdfService.js - Portfolio records
server/models/Portfolio.js
Market data
- Stock search
client/src/components/StockSearch.js - Stock charts
client/src/components/StockPriceChart.js - Stock pages
client/src/pages/Stocks.js - Live ticker
client/src/components/LiveStockTicker.js - Stocks API
server/routes/stocks.js - Watchlist API
server/routes/watchlist.js - Stock records
server/models/Stock.js
Other components
- Investor
- API server
server/server.js - MongoDB
- Finnhub
Connections 21
- Investor → React app: uses
- React app → Auth context: provides auth
- React app → Home page: routes to
- React app → Protected routes: guards pages
- Protected routes → Auth context: checks user
- React app → Login and register: routes to
- Dashboard → Stock search: renders
- Stock search → Dashboard: returns symbol
- Dashboard → Stock charts: renders
- Dashboard → Portfolio API: requests summary and report
- Dashboard → Transaction entry: renders
- Dashboard → Portfolio view: renders
- Dashboard → Portfolio analytics: renders
- API server → Auth API: mounts API
- API server → Stocks API: mounts API
- API server → Watchlist API: mounts API
- API server → Portfolio API: mounts API
- Auth API → User records: reads and writes
- API server → MongoDB: connects
- Portfolio calculations → Stocks API: requests prices
- API server → Finnhub: subscribes to quotes