How tushar5201/algo_trading_platform works
This is a full-stack algorithmic trading platform. Users and admins manage accounts, credentials, strategies, and trades through the React dashboard and Node API; scheduled or requested strategy jobs are queued for the Python worker, which gathers market data, generates signals, applies risk checks, and can place live broker orders. MongoDB stores platform and trading records, while Redis supports queues and session data. The README documents the overall service flow and capabilities; several internal connections below are therefore cited to it rather than to unsampled implementation.
Main entry points: worker.py Async Job Worker · order_manager.py Order Lifecycle · App.tsx React Dashboard · kotak_neo.py Kotak Neo Broker
Components 25
Dashboard
- React Dashboard
frontend/src/App.tsx - User Pages
frontend/src/pages/user - Admin Pages
frontend/src/pages/admin - Login / Signup
frontend/src/pages/auth - API Client
frontend/src/api/client.ts
Platform API
- API Routes
backend/src/routes - API Controllers
backend/src/controllers - Authentication
backend/src/services/auth.service.ts - Job Scheduler
backend/src/queues/scheduler.ts - BullMQ Queues
backend/src/queues/index.ts - Queue Service
backend/src/services/queue.service.ts
Trading Engine
- Async Job Worker
python-engine/src/queue/worker.py - Strategy Registry
python-engine/src/strategies/registry.py - Trade Signals
python-engine/src/execution/signal.py - Market Data
python-engine/src/utils/market_data.py - Risk Checks
python-engine/src/execution/risk_manager.py - Order Validation
python-engine/src/execution/validator.py - Order Lifecycle
python-engine/src/execution/order_manager.py - SL / TP Monitor
python-engine/src/execution/sl_tp_monitor.py
Broker Integration
- Broker Sessions
python-engine/src/broker/session_manager.py - Kotak Neo Broker
python-engine/src/broker/kotak_neo.py
Other components
- Trader / Admin
- Kotak Neo API
Connections 28
- Trader / Admin → React Dashboard: uses
- React Dashboard → Login / Signup: routes to
frontend/src/App.tsx - React Dashboard → User Pages: routes to
frontend/src/App.tsx - React Dashboard → Admin Pages: routes to
frontend/src/App.tsx - User Pages → API Client: requests data
frontend/src/pages/user/DashboardPage.tsx - Admin Pages → API Client: requests data
- API Client → API Routes: calls API
- API Routes → API Controllers: dispatches
backend/src/routes/admin.routes.ts - API Controllers → Authentication: uses
backend/src/controllers/auth.controller.ts - API Controllers → Queue Service: enqueues jobs
backend/src/controllers/admin.controller.ts - Job Scheduler → BullMQ Queues: schedules jobs
- Queue Service → BullMQ Queues: adds jobs
backend/src/services/queue.service.ts - BullMQ Queues → Async Job Worker: delivers jobs
- Async Job Worker → Strategy Registry: runs strategy
python-engine/src/queue/worker.py - Async Job Worker → Market Data: initializes data
python-engine/src/queue/worker.py - Strategy Registry → Trade Signals: emits signals
- Async Job Worker → Order Lifecycle: executes trades
python-engine/src/queue/worker.py - Order Lifecycle → Order Validation: validates
python-engine/src/execution/order_manager.py - Order Lifecycle → Risk Checks: checks risk
python-engine/src/execution/order_manager.py - Order Lifecycle → Kotak Neo Broker: places orders
python-engine/src/execution/order_manager.py - Order Lifecycle → MongoDB: records trades
python-engine/src/execution/order_manager.py - SL / TP Monitor → Kotak Neo Broker: monitors positions
- Broker Sessions → Kotak Neo Broker: authenticates
python-engine/src/broker/session_manager.py - Broker Sessions → Redis: reads session state
python-engine/src/broker/session_manager.py - Broker Sessions → MongoDB: reads credentials
python-engine/src/broker/session_manager.py - Kotak Neo Broker → Kotak Neo API: calls broker
- Async Job Worker → Redis: reads queue state
python-engine/src/queue/worker.py - Async Job Worker → MongoDB: reads trade data
python-engine/src/queue/worker.py