# tavolo-app The deployable tavolo application: the composition root wiring [`tavolo-platform`](../tavolo-platform/README.md) to the [`tavolo-scopone`](../tavolo-scopone/README.md) game. ## Contents - `app.py` — assembles the `KayaApp` (session/OIDC/Tortoise/OpenAPI mixins plus `PlatformMixin` and the deadline scheduler), registers the `ScoponeEngine` with its configured timeouts, and exposes `tavolo.app:app` for granian. - `config.py` — environment-driven frozen `Settings`. - `aerich_config.py` — Tortoise ORM configuration consumed by the aerich CLI (migrations live in `server/migrations/`; aerich itself is configured via the `[tool.aerich]` section of `server/pyproject.toml`). - `logging_config.py` — logging setup. - `static.py` — SPA shell hosting for the compiled frontend. ## Development (from `packages/tavolo-app/`) ```sh .venv/bin/python -m mypy --namespace-packages --explicit-package-bases \ src/tavolo/app.py \ src/tavolo/config.py \ src/tavolo/static.py \ src/tavolo/aerich_config.py \ src/tavolo/logging_config.py ``` End-to-end coverage of the wired stack lives in `server/tests/`.