Real-time crypto market aggregation and demo trading experience.
Fusio is a real-time, multi-exchange crypto aggregation platform that provides a unified market dashboard and simulated trading experience.
- USER_STORIES.md: User stories and acceptance criteria.
- DESIGN.md: Architecture and phased roadmap.
- DEVELOPMENT.md: Developer guide.
- Real-time multi-exchange aggregation: Binance/Bybit/OKX WebSocket adapters with normalized tickers, best-price detection, spread display, and consolidated order book/ticker snapshots.
- Trading demo with safeguards: JWT auth, seeded 10k USDT demo balance, simulated order execution with balance checks, order limits, circuit-breaker hooks, and audit-ready order history.
- Modular NestJS backend: Market/trading/risk modules, exchange adapter layer, Socket.io gateway for live pushes, Redis caching, and TypeORM (SQLite/PostgreSQL) persistence.
- Observability and ops: Prometheus/Grafana metrics and dashboards, health checks, CI/CD to Fly.io (backend) and Cloudflare Pages (frontend), guard/risk patterns in the request flow.
- Frontend UX for realtime data: React/Vite + Ant Design with connection status indicators, live price color cues, and grouped price comparisons across venues.
- Scalability path: Adapter pattern to add venues, Bull/Redis for async processing, and roadmap items for smart order routing plus deeper risk/monitoring controls.
- Node.js 20+
- pnpm 8+
# Backend dependencies
cd backend
pnpm install
# Frontend dependencies
cd ../frontend
pnpm installBackend
cd backend
pnpm run start:devAPI available at http://localhost:4000/api
Frontend
cd frontend
pnpm run devApp available at http://localhost:5173
- Frontend:
https://fusio-1fu.pages.dev/ - Backend: deployed on Fly.io (
https://fusio-my09ug.fly.dev, API under/api)
- Open home page
- Click "Register" to create an account
- Use an email and a password (>=8 chars, upper/lowercase, numbers)
- After registration you're auto-logged in and redirected to the dashboard
- View real-time market data and your profile info
- Backend: NestJS, TypeScript, TypeORM, SQLite/PostgreSQL, Redis, Socket.io, JWT, bcrypt
- Frontend: Vite, React 18, TypeScript, Ant Design, Zustand, TanStack Query, Socket.io-client
- V0.1: User auth and security basics
- V0.2: Real-time market dashboard (Binance WebSocket + Redis cache)
- V0.3: Multi-exchange aggregation (Bybit, OKX)
- V0.4: Simulated order execution and history
- V0.5: Smart order routing
- V0.6: Risk controls (balance checks, limits, circuit breaker)
- V0.7: Monitoring & observability (Prometheus, Grafana)
See DESIGN.md for the full roadmap.
For technical demonstration purposes only.
- GitHub Actions
- Backend deploy:
.github/workflows/backend-fly-deploy.yml(Fly.io, builds fromfly.toml/backend/Dockerfile) - Frontend deploy:
.github/workflows/frontend-pages-deploy.yml(Cloudflare Pages)
- Backend deploy:
- Environment / Secrets (examples)
- Fly:
DATABASE_URL,REDIS_URL,JWT_SECRET,CORS_ORIGIN,PORT=3000(set via Fly secrets) - Frontend build:
VITE_API_BASEpointing to the backend origin (e.g.,https://fusio-my09ug.fly.dev)
- Fly:
- Health check:
/api/health(Fly health check path aligned)