How vedant-0509/zerodha-a-online-brokerage-platform works
This is an investing dashboard with stock research and trading-oriented views, holdings, watchlists, market data, and mutual-fund discovery and portfolio features. Users enter through the frontend, authenticate, and use dashboard pages; backend services expose the corresponding data and account capabilities. The graph preserves the major product areas visible in the tree and source index. Evidence is limited to the supplied excerpts and reference index; several unsampled subsystem links are therefore not asserted.
Main entry points: mongodb.js MongoDB connection · server.js Index market server · index.js Frontend entry · Dashboard.js Dashboard pages
Components 28
Web application
- Frontend entry
frontend/src/index.js - Login and signup
frontend/src/Pages/Signup/Login.jsx - Dashboard pages
frontend/src/Pages/Dashboard/Dashboard.js - Stock pages
frontend/src/Pages/Dashboard/Stocks/Stocks.js - Fund pages
frontend/src/Pages/Dashboard/MutualFunds/MutualFunds.js
Identity and platform
- Authentication API
backend/signup/app.js - Token authentication
backend/middleware/authenticateToken.js - Request context
backend/middleware/requestContext.js - CORS policy
backend/middleware/corsOptions.js - Error handling
backend/middleware/errorHandler.js - MongoDB connection
backend/config/mongodb.js
Stock services
- Stock data API
backend/stocks/server.js - Stock search
backend/stocks/search.js - Stock detail API
backend/detailStock/server.js - Simulated orders
backend/detailStock/simulatedOrderService.js - Holdings service
backend/holding/app.js - Watchlist service
backend/watchlist/app.js - Orders service
backend/orders/app.js
Market data
- Index market server
backend/indexMarket/server.js - Live index feed
backend/indexMarket/indexMarketService.js - Closing prices
backend/indexMarket/closingPriceService.js - Market cache
backend/indexMarket/redisClient.js
Mutual funds
- Fund API
backend/mutualfunds/mutualFundRoutes.js - Fund and portfolio logic
backend/mutualfunds/mutualFundController.js - Fund data sync
backend/mutualfunds/mfSyncService.js - Fund metadata
backend/mutualfunds/mfMetadataRoutes.js - Metadata controller
backend/mutualfunds/mfMetadataController.js
Other components
- Investor
Connections 24
- Investor → Frontend entry: opens
- Frontend entry → Login and signup: routes to
frontend/src/index.js - Frontend entry → Dashboard pages: routes to
frontend/src/index.js - Dashboard pages → Stock pages: includes
- Dashboard pages → Fund pages: includes
- Login and signup → Authentication API: uses
- Authentication API → MongoDB connection: connects
backend/signup/app.js - Token authentication → MongoDB connection: guards data routes
- Stock data API → Stock search: dispatches to
backend/stocks/server.js - Stock search → MongoDB connection: queries
backend/stocks/search.js - Stock detail API → MongoDB connection: uses
backend/detailStock/server.js - Stock detail API → Simulated orders: uses
backend/detailStock/server.js - Holdings service → MongoDB connection: reads holdings
backend/holding/app.js - Index market server → Live index feed: starts feed
backend/indexMarket/server.js - Index market server → Market cache: connects
backend/indexMarket/server.js - Index market server → Closing prices: starts scheduler
backend/indexMarket/server.js - Live index feed → Market cache: reads and writes
backend/indexMarket/indexMarketService.js - Closing prices → Market cache: uses cache
backend/indexMarket/closingPriceService.js - Closing prices → Live index feed: uses feed service
backend/indexMarket/closingPriceService.js - Fund API → Fund and portfolio logic: routes to
backend/mutualfunds/mutualFundRoutes.js - Fund and portfolio logic → Fund data sync: syncs data
backend/mutualfunds/mutualFundController.js - Fund and portfolio logic → MongoDB connection: queries
backend/mutualfunds/mutualFundController.js - Fund metadata → Metadata controller: routes to
backend/mutualfunds/mfMetadataRoutes.js - Metadata controller → MongoDB connection: queries
backend/mutualfunds/mfMetadataController.js