Multiplayer scopone scientifico backend on the kaya framework:
- OIDC login (kaya-oidc), session-backed WebSocket auth
- Pure rules engine (forced captures, scopa, primiera scoring) with
full-match simulation tests
- Live game state in Redis (JSON + TTL, join codes, per-game locks,
pub/sub state push); in-memory fallback for tests
- WebSocket /ws/games/{id} for real-time play; REST lobby endpoints
(create/join/snapshot) with hidden-hand views
- Finished matches persisted to Postgres (Tortoise + aerich) for match
history and leaderboard endpoints
- Docker Compose stack: postgres, redis, mock-oauth2-server, db-migrate, app
- 45 tests passing; mypy clean
22 lines
313 B
Plaintext
22 lines
313 B
Plaintext
# Keep the build context lean: exclude the local venv, caches, tests,
|
|
# and anything not needed to build the scopa wheel.
|
|
.git/
|
|
.gitignore
|
|
.env
|
|
.env.example
|
|
.venv/
|
|
__pycache__/
|
|
*.pyc
|
|
*.pyo
|
|
*.egg-info/
|
|
.mypy_cache/
|
|
.pytest_cache/
|
|
dist/
|
|
build/
|
|
conf/
|
|
tests/
|
|
Dockerfile
|
|
.dockerignore
|
|
opencode.json
|
|
docker-compose.yml
|