The deployed version of the application can be found here.
To install the software and use it in your local development environment, you must first set up and activate a local development environment. From the root of the project:
$ virtualenv venv
$ source venv/bin/activate
Install all required packages:
$ pip3 install -r requirements.txt
You may have to reinstall libpq-dev to remove errors if using Ubuntu 20.04:
$ sudo apt-get install libpq-dev --reinstall
$ pip3 install -r requirements.txt
Migrate the database:
$ python3 manage.py migrate
Seed the development database with:
$ python3 manage.py seed
Run all tests with:
$ python3 manage.py test
[optional, for deployment] Collect static files with:
$ python3 manage.py collectstatic
Seeding provides some nice test accounts, most mandated by the project non-functional requirements. Seeding does not impact superusers. The deployed application is seeded.
All passwords are "Password123"
- Jebediah142 / jeb@example.org
- Valentina123 / val@example.org
- Billie444 / billie@example.org
The packages used by this application are specified in requirements.txt
Some code is borrowed from the Clucker application developed in the SEG practice video series. Main sources are:
While all code is original, Stack overflow and other online resources is occasionally used as reference to fix problems or guide implementaion. Some notable references are:
- Single boolean constraint implementation mechanism.
- Sort list by diccionary values, used in get_winners() method.
- Date countdown as filter tag in template.
- Create basic custom template tags, the concept is well now but unfamiliar to us and was often recommended as good practice.