A full-stack stock trading simulation platform with real-time market data streaming, historical backtesting, and comprehensive portfolio management—designed to help users practice trading strategies without financial risk.
- Real-Time Market Data — WebSocket integration with Alpaca API for live stock quotes and trade streams
- Historical Backtesting — Simulate trades using historical market data with configurable time acceleration (1x–20x speed)
- Portfolio Management — Track positions, P&L, and net worth with real-time updates
- Margin Trading Simulation — Borrow virtual funds with configurable margin limits and interest calculations
- Multi-Symbol Support — Trade popular stocks including AAPL, GOOGL, NVDA, COST, SPY, QQQ, and more
- Interactive Candlestick Charts — Visualize price action with multiple timeframes (1D/1Min, 1M/1D, 1Y/1M)
- Fee Simulation — Configure commissions, overnight fees, holding costs, and power-up fees
- User Authentication — Secure JWT-based authentication with role-based access (Admin/User)
- RESTful API — Comprehensive API with OpenAPI/Swagger documentation
- Containerized Deployment — Production-ready Docker Compose setup
| Layer | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite, TailwindCSS, TanStack Query, Lightweight Charts |
| Backend | FastAPI, SQLAlchemy 2.0, Alembic, Alpaca SDK, JWT Auth |
| Database | PostgreSQL 15 |
| Infrastructure | Docker, Docker Compose, Nginx |
woaa-trading/
├── docker-compose.yml # Multi-container orchestration
├── deploy.sh # Deployment script
│
├── woaa-backend/ # FastAPI Backend
│ ├── app/
│ │ ├── api/ # REST API routes
│ │ ├── models/ # SQLAlchemy models
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── services/ # Business logic
│ │ ├── tasks/ # Background tasks (simulation)
│ │ ├── websocket/ # Real-time data handlers
│ │ └── main.py # Application entry point
│ ├── alembic/ # Database migrations
│ ├── Dockerfile
│ └── pyproject.toml
│
├── woaa-frontend/ # React Frontend
│ ├── src/
│ │ ├── api/ # API client functions
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── pages/ # Route components
│ │ └── App.tsx # Root component
│ ├── Dockerfile
│ └── package.json
│
└── loki/ # Logging stack (optional)
├── docker-compose.yaml
└── dashboards/

