The digital version of the popular social deduction game "Undercover". Blends a modern React frontend with a robust Python/FastAPI backend using WebSockets.
- Real-time Multiplayer: Powered by Socket.IO for instant updates.
- Pass & Play: Local mode for playing on a single device.
- Persistent State: SQLite database ensures games survive server restarts.
- Multiple Roles: Civilians, Undercovers, and Mr. White.
- Word Themes: Variety of word pairs including Movies, Tech, and more.
- Frontend: React, Vite, TailwindCSS, Framer Motion
- Backend: Python, FastAPI, python-socketio, aiosqlite
- Shared: WebSocket types and enums shared between client/server
- Node.js & npm
- Python 3.8+ & pip
Use the provided script to start both services:
./start.sh-
Backend:
cd server-py pip install -r requirements.txt uvicorn src.main:app --reload --port 8000 -
Frontend:
cd client npm install npm run dev
- Shared Types: If you modify
shared/, runnpm run buildin the shared directory or root to update the frontend.