Real-time multiplayer quizbowl
Install and run PostgreSQL and Redis servers.
Install uv.
Configure .env from sample.env with proper credentials.
Set up a virtual environment if desired:
uv venv
source .venv/bin/activateSet up database:
uv run manage.py migrate
uv run manage.py loaddata fixtures/default_rooms.json
uv run manage.py loaddata fixtures/sample.jsonRun dev server:
uv run manage.py runserverTossup questions can be loaded from a fixture. Data can be downloaded from the Protobowl DB dumps repo or custom made. See fixtures/sample.json for an example custom fixture.
# Load fixture data from PB db dump
uv run scripts/pb_load.py
uv run manage.py loaddata fixtures/pbdump.jsonRun unit tests with:
uv run pytestFormat code with black:
uv run black .Configure .env with proper credentials.
Start application:
docker build -t kuiperbowl:latest .
docker run -p 127.0.0.1:8000:8000 kuiperbowl:latest# Get container name of kuiperbowl_web
docker ps
docker exec -it <CONTAINER ID> bash
python /usr/src/app/manage.py loaddata <FIXTURE PATH>