This application is designed to gather 'team temperature' - that is, a happiness score.
For the sake of security, very little information is stored or recorded. Each submitter is represented by a random ID, and a cookie is stored so really only to protect against accidental double submissions from the same user with the same browser.
The results page are available to the creator using the same cookie mechanism, and also a password in case the cookie is lost.
This project uses uv for dependency management.
To set up the development environment:
- Install uv if you haven't already.
- Clone the repository.
- Run
uv syncto install dependencies. - Run
uv run python manage.py migrateto set up the database. - Run
uv run python manage.py runserverto start the development server.
Tests can be run using uv:
uv run python manage.py testHeroku's Python buildpack installs dependencies from uv.lock; .python-version selects the Python runtime.
After you successfully deploy your app to Heroku, make sure that you add the following to the Heroku Scheduler as a daily job:
python bin/archive_scores.py
Also, if you want to access the Django admin site, add a super user using the heroku CLI:
heroku run --app <Your Heroku app name here> python manage.py createsuperuser --username <admin user> --email <admin email address>
and then go to https://<Your Heroku app name here>.herokuapp.com/djadmin/