An open-source, hackathon registration system. 🏫
uv venv --python 3.13
uv sync
source .venv/bin/activate
python hiss/manage.py migrate
python hiss/manage.py createsuperuser
python hiss/manage.py runserverUses a dedicated settings file for faster runs.
cd hiss
python manage.py test --settings=hiss.settings.test --parallel
# or target a subset
python manage.py test application.tests.view_tests.create --settings=hiss.settings.test- Copy
.env.distto.envand fill required values (e.g.,SECRET_KEY, database credentials, email backend, storage keys). - For Docker, ensure DB credentials match
docker-compose.yml; production-like overrides live indocker-compose.prod.yml.
docker-compose up -d
docker-compose exec db psql -U postgres -c "CREATE DATABASE hiss;"
docker-compose run web python3 manage.py migrate --run-syncdb
docker-compose exec web python3 manage.py loaddata application/fixtures/schools.json
docker-compose run web python3 manage.py createsuperuser
docker-compose upTo combine overrides: docker-compose -f docker-compose.yml -f docker-compose.prod.yml up.
If using the existing flow, push your feature branch to staging (force push replaces the staging ref—double-check before running):
git push -f origin origin/feature:stagingThe expire management command marks unconfirmed applications as expired and sends notification emails.
python manage.py expireLocation: hiss/application/management/commands/expire.py. On Railway, schedule this daily (e.g., 11:59 PM CST) with required env vars present.
/admin/csv-emails/judges/– CSV email interface for judges/admin/csv-emails/mentors/– CSV email interface for mentors
- Install uv and follow the Quickstart steps above.
- Keep tests green and prefer
--parallelwhen running locally.
MIT. See LICENSE.
