The High-Stakes Game Show for Music Producers.
Sound Royale is a multiplayer music bingo game where producers compete head-to-head by completing bingo boards with audio tiles. Players upload samples, the game broadcasts them in real-time, and opponents race to match and claim tiles.
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui |
| Backend | Django 4.2, Django REST Framework, Django Channels |
| Real-time | WebSockets via Django Channels + Redis |
| Database | PostgreSQL (production), SQLite (development) |
| CI/CD | GitHub Actions, Docker Compose, Playwright |
# Frontend
pnpm install
pnpm run dev
# Backend
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver# Type check
npx tsc --noEmit
# E2E tests (requires frontend on localhost:8080)
pnpm run test:e2e
# Backend tests
cd backend && python manage.py test game_enginedocker compose up --buildSee docs/operations/CHANGELOG.md for release history.
- Frontend: Functional components with hooks, immutable state updates, TypeScript strict mode
- Backend: Django REST Framework, UUID primary keys, async WebSocket consumers
- Real-time: Django Channels WebSocket layer with Redis channel backend
For detailed architecture decisions, see docs/architecture/SYSTEM_DESIGN_CHOICES.md.
MIT