A full-stack gamified stock trading simulator. Trade real stocks with virtual money, compete on the leaderboard, and climb the ranks from Beginner Trader to Market Wizard.
- Live stock prices via Finnhub API (server-side cached)
- Buy and sell stocks with $100,000 virtual cash
- Portfolio tracking with real-time P&L calculations
- Global leaderboard ranked by portfolio value
- JWT authentication with bcrypt password hashing
- User registers and receives $100,000 in virtual cash
- Live stock prices are fetched from Finnhub and cached server-side
- Users buy/sell stocks — trades are recorded in the database
- Portfolio value updates in real time based on current prices
- Leaderboard ranks all users by total portfolio value
- Frontend: Next.js 16, TypeScript, Tailwind CSS
- Backend: NestJS, TypeScript, REST API
- Database: PostgreSQL on Supabase, Prisma ORM
- Auth: JWT + bcrypt
- Stock Prices: Finnhub API
TradeArena/
│
├── frontend/
│ ├── app/
│ │ ├── auth/
│ │ ├── dashboard/
│ │ ├── stocks/
│ │ ├── portfolio/
│ │ └── leaderboard/
│ └── components/
│ └── Navbar.tsx
│
├── backend/
│ └── src/
│ ├── auth/
│ ├── stocks/
│ ├── trades/
│ ├── leaderboard/
│ └── prisma.service.ts
│
├── ROADMAP.md
└── README.md
- Price charts with historical data
- Achievements and rank progression system
- Daily trading challenges and tournament mode
- Learning module with guided missions and quizzes