Direct trading from the dashboard is not an option in our system. Trading page is now read-only monitoring (positions, orders, order book). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
web-dashboard
Foxhunt trading dashboard.
Stack
- React 19 + TypeScript
- Vite 7 (dev server and bundler)
- Tailwind CSS 4
- TradingView (lightweight-charts 5.1.0) + Recharts
- Zustand (state) + React Query (server state, staleTime 10s, refetchInterval 15s)
Pages
- Trading -- Live positions, orders, market data charts
- Risk -- VaR, drawdown, portfolio exposure
- ML -- Model status, training metrics, predictions
- Performance -- PnL, Sharpe, execution quality
- Backtesting -- Strategy replay configuration and results
- Config -- System settings, strategy parameters
Auth
Login page with JWT authentication. ProtectedRoute guards on all pages. ErrorBoundary on every route. 401 responses trigger automatic logout.
Development
npm install
npm run dev
Dev server runs on localhost:5173 and proxies API requests to web-gateway at :3000.
Build
npm run build
Production builds disable sourcemaps and use manual chunk splitting (vendor, charts, query).
Project Structure
src/
pages/ -- Page components (Trading, Risk, ML, etc.)
components/ -- Shared UI components, charts, tables
hooks/ -- React Query hooks, WebSocket hooks
stores/ -- Zustand stores
api/ -- API client, auth helpers
types/ -- TypeScript type definitions