A professional trading platform with real-time market data, team-based trading, and comprehensive order management. Built with FastAPI backend and Next.js frontend.
- 🏪 Real-time Trading - Live order book, market data, and trade execution
- 👥 Team-based Trading - Multi-user teams with shared orders and positions
- 🔐 Authentication - Secure user registration and login system
- 📊 Professional UI - Dark theme with advanced trading interface
- 🔌 WebSocket Integration - Real-time market data updates
- 🐳 Production Ready - Docker-based deployment with CI/CD
For production deployment instructions, see DEPLOYMENT.md.
Quick Deploy:
cp env.prod.example .env.prod
# Edit .env.prod with your settings
./deploy.sh
Backend:
- cd backend
- Ensure Python 3.12+ is installed
- Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
- uv sync
- uv run uvicorn src.app.main:app --reload
Frontend:
- cd frontend
- Install pnpm (if needed): corepack enable && corepack prepare pnpm@latest --activate
- pnpm install
- pnpm dev
Quick Setup:
- Run the setup script:
./setup-env.sh
- Start all services:
docker-compose up --build
Manual Setup:
- Create a
.env
file with required environment variables (see.env.example
) - Run:
docker-compose up --build
Environment Variables:
DB_PASSWORD
: PostgreSQL password (defaults todevpassword
)ALLOW_ANY_API_KEY
: Allow any API key for development (defaults totrue
)NEXT_PUBLIC_API_URL
: Frontend API URL (defaults tohttp://localhost/api/v1
)NEXT_PUBLIC_WS_URL
: WebSocket URL (defaults tows://localhost/ws/v1/market-data
)
The application will be available at:
- Frontend: http://localhost:3000
- API: http://localhost/api/v1 (via nginx)
- WebSocket: ws://localhost/ws/v1/market-data (via nginx)
See docker-compose.yml
and nginx.conf
for details.