A forever free, adless and open-source voting platform to conduct elections remotely, written in Django
This is a rewrite of https://github.com/BurraAbhishek/VirtualElections.
This website is written in Python 3, and relies on the Django framework. HTML and the Django Template Language are used for templating, using CSS for styling. MongoDB is used as the primary backend database, and redis is used as a cache.
Before beginning, please make sure you have the following tools installed:
- At least 4 GB of RAM
- A CPU with 64-bit architecture
python3
mongodb
(>=4.2, instructions, WSL2)- For WSL2, you might want to manually create the default
/data/db
directory and give ownership permissions to your user (sudo chown -R `id -un` /data/db
). Ifsudo service mongod start
does not work, you may want to open a terminal and runmongod
as super-user.
- For WSL2, you might want to manually create the default
redis
- django framework: Install using
pip install django
- djongo engine for MongoDB: Install using
pip install djongo
- django-redis: Install using
pip install django-redis
. Dependencies will also be installed.
- Clone (
git clone https://github.com/BurraAbhishek/VirtualElections_v2.git
) or download this repository. - (Optional, recommended for production) Apply migrations using
python manage.py migrate
. Also check the official guide. Deploying static files on the same server is not recommended since it may slow down your application. - Then run
python manage.py runserver
to start the application. - If you're running on localhost, you can deploy static files on the same server and can ignore the migrations warning.
- If you're running on localhost (127.0.0.1), then go to
http://localhost:8000/
orhttp://127.0.0.1:8000/
. The port number is 8000 by default, and it may be different if you configure a different port number. If your webserver supports TLS, you can usehttps
instead ofhttp
. - Finally, using your web browser, go to
/modzone/
(in the default localhost configuration, it ishttp://localhost:8000/modzone/
) to complete the installation.
This repository is dual-licensed under the Apache License, Version 2.0 and the GNU Affero General Public License 3 or any later version at your choice.
Files | Author(s) | License |
---|---|---|
Font Awesome v4.7 in static:fa | The Font Awesome Team | CC-BY 4.0, SIL OFL 1.1, MIT |
Noto Sans in static:fonts | Apache License, Version 2.0 | |
Roboto in static:fonts | Christian Robertson | Apache License, Version 2.0 |