This repository hosts an API that helps volunteer managers plan festival activities on a schedule, associate volunteers to time slots, and send SMS reminders during the event. Volunteer/slot data can also be bootstrapped from a Google Sheet import.
user (default) or super_admin. Only super_admin
can create/edit organizations and manage organization membership.org_admin — full control over the organization's projects and can
change member roles within their own organization.respo_benevole — manages volunteer allocation across the whole
project: slots, templates, volunteers, groups, and SMS.respo_commission — read access to the whole project plan; write
access limited to templates/slots belonging to the commission(s) they
are a member of. Cannot manage volunteers, groups, or SMS directly.name + phone_number) rather than stored as
free text — see SlotTemplate.responsible_override for the manual
exception case.For running the application
git clone ... cd ...
python -m venv venv venv/scripts/activate poetry install
Note, be sure to use python3.11 with this application
Copy .env.example to .env and edit it to configure your setup init.sh uvicorn app.main:app --reload
python -m app.debug
Run tests
pytest
Run specific tests
pytest app\test\test_volunteer.py
> poetry lock
> poetry export -f requirements.txt --output requirements.txt --without-hashes
> poetry export -f requirements.txt --output requirements-dev.txt --without-hashes --with dev
Regenerate after any backend route or schema change — see the frontend repo's README for details.
FastAPI project generated using https://github.com/rafsaf/minimal-fastapi-postgres-template