A real-time multiplayer quiz platform built with React, FastAPI, and WebSockets
- Node.js 16+ & npm
- Python 3.10+
- MongoDB
- Redis
- React.js (Client)
cd server
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install -r requirements.txt
# Create environment file
echo "MONGO_CONNECTION_STRING=mongodb+srv://<user>:<password>@cluster0.lerychw.mongodb.net/" > app/.envcd client
npm installUpdate API endpoints in:
client/src/hostScreen.jsxclient/src/playerScreen.jsxclient/src/joinScreen.jsx
Replace localhost:8000 with your server URL if needed
- Start Redis
redis-server- Launch Backend
cd server
uvicorn app.main:app --reload- Start Frontend
cd client
npm start- Create new game from Host Dashboard
- Share 6-digit game PIN with players
- Control quiz flow (start/next question)
- Monitor live leaderboard
- Join with game PIN & nickname
- Answer questions in real-time
- Receive instant feedback
- Track position on live leaderboard
- Real-time WebSocket communication
- Auto-reconnect functionality
- Animated score updates
- Redis-backed connection management
- MongoDB game state persistence
- Responsive UI with progress indicators
- Keep both server and client running simultaneously
- Default API runs on port 8000, client on 3000
- Requires active MongoDB and Redis instances
- Demo quiz data in
server/app/services/default_quiz.json




