Skip to content

jasmaa/kuiperbowl

Repository files navigation

Kuiperbowl

Real-time multiplayer quizbowl

Quizbowl game page

Local Development

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/activate

Set up database:

uv run manage.py migrate
uv run manage.py loaddata fixtures/default_rooms.json
uv run manage.py loaddata fixtures/sample.json

Run dev server:

uv run manage.py runserver

Entering Tossup Data

Tossup 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.json

Testing

Run unit tests with:

uv run pytest

Format

Format code with black:

uv run black .

Deploying with Docker

Set Up and Run

Configure .env with proper credentials.

Start application:

docker build -t kuiperbowl:latest .
docker run -p 127.0.0.1:8000:8000 kuiperbowl:latest

Loading Data

# Get container name of kuiperbowl_web
docker ps

docker exec -it <CONTAINER ID> bash
python /usr/src/app/manage.py loaddata <FIXTURE PATH>

About

Real-time multiplayer quizbowl

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors