This is a Django project, which expands on Django's official 'polling app' tutorial (https://docs.djangoproject.com/en/3.1/intro/tutorial01/).
https://rniem-awsumpolls.herokuapp.com/
In addition to the functionality of voting on polls, this polling app includes:
- A user profile and authentication system (only authenticated users can create polls and vote),
- Visual representations of poll results,
- A threaded comment system for each poll,
- Visual styling using Javascript and Bulma CSS (https://bulma.io/).
Python: 3.8.1 < Django: 3.1.2 <
Plus all the packages for Python, as specified in requirements.txt
To run this app, perform the following steps:
- Download this repository,
- Install all the Python packages needed from the
requirements.txt
file, - In the
pollingapp
folder, apply database migrations usingpython manage.py makemigrations
, and thenpython manage.py migrate
, - Still in the
pollingapp
folder, run the following command:python manage.py runserver
.
To make sure the password reset email works:
- Make sure you performed the steps from the Requirements section,
- Follow the instructions on this page to configure a local SMTP server: https://aiosmtpd.readthedocs.io/en/latest/aiosmtpd/docs/cli.html
- after you have started up the server, whenever a password reset email is sent, it will appear on the command line of the terminal which you used to set up the server. From there you can copy the reset link and continue in the webapp.
An alternative to this is to set up your own email server remotely, e.g. using Gmail. More info here: (https://www.lifewire.com/get-a-password-to-access-gmail-by-pop-imap-2-1171882). Note that this will require some tinkering with the settings.py
file in the main Django application folder.