Giter Site home page Giter Site logo

maoyaw1 / e-voting-with-django Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jobic10/e-voting-with-django

0.0 0.0 0.0 18.98 MB

The Voting System web application using Django is a project that serves as the automated voting system of an organization or school. This system works like the common manual system of election voting system whereas this system must be populated by the list of the positions, candidates, and voters. This system can help a certain organization or school to minimize the voting time duration because aside they can provide the voters an online platform to vote, the system will automatically count the votes for each candidate. The system has 2 sides of the user interface which are the administrator and voters side. The admin user is in charge to populate and manage the data of the system and the voter side which is where the voters will choose their candidate and submit their votes.

License: MIT License

Python 100.00%

e-voting-with-django's Introduction

E - Voting Created Using Django

This E - Voting System Was Developed With Django(Python Framework). Feel free to make changes based on your requirements.

If you like this project, then ADD a STAR โญ๏ธ to this project ๐Ÿ‘†

This Voting System web application built using Django can serve as the automated voting system for organizations and/or institutions. The system works like the common election manual system of voting whereas the system must be populated by the list of the positions, candidates, and voters. The E-voting system can help a certain organization or school to minimize the voting time duration because aside providing the voters an online platform to vote, the system will automatically count the votes for each candidate. The system has 2 sides of the user interface which are the administrator and voters side. The admin user is in charge to populate and manage the data of the system and the voter side which is where the voters will choose their candidate and submit their votes.

Front-end Template

Features:

  • Vote preview
  • Multiple votes
  • Result tally via Horizontal Bar Chart
  • Print voting results in PDF
  • Changeable order of positions to show in the ballot
  • CRUD voters
  • CRUD candidates
  • CRUD positions
  • Plugins
  • AdminLTE Template

A. Admin Users Can

  1. See Overall Summary Charts of Votes
  2. Reset Votes
  3. Manage Voters (CRUD)
  4. Manage Candidates (CRUD)
  5. Manage Positions (CRUD)
  6. Change Ballot Style (Ballot Position)
  7. Update/Change Ballot Title

B. Voters Can

  1. Register
  2. Login
  3. Verify with OTP (This can be overwritten in settings.py file)
  4. Votes for their favourite candidates
  5. View candidates they voted for

๐Ÿ“ธ ScreenShots

The beautiful MDN logo.

Database Design
Admin Voter
------- ------ ------ ------
------- ------ ------ ------
------- ------ ------ ------
------- ------ ------ ------

Support Developer

  1. Add a Star ๐ŸŒŸ to this ๐Ÿ‘† Repository
  2. Follow on Twitter/Github

Passport/Images

Images are from Unsplash

Pre-Requisites:

  1. Install Git Version Control [ https://git-scm.com/ ]

  2. Install Python Latest Version [ https://www.python.org/downloads/ ]

  3. Install Pip (Package Manager) [ https://pip.pypa.io/en/stable/installing/ ]

Alternative to Pip is Homebrew

Installation

1. Create a Folder where you want to save the project

2. Create a Virtual Environment and Activate

Install Virtual Environment First

$  pip install virtualenv

Create Virtual Environment

For Windows

$  python -m venv venv

For Mac

$  python3 -m venv venv

For Linux

$  virtualenv .

Activate Virtual Environment

For Windows

$  source venv/scripts/activate

For Mac

$  source venv/bin/activate

For Linux

$  source bin/activate

3. Clone this project

$  git clone https://github.com/jobic10/e-voting-with-django.git

Then, Enter the project

$  cd e-voting-with-django

4. Install Requirements from 'requirements.txt'

$  pip3 install -r requirements.txt

5. Run migrations and migrate python manage.py makemigrations python manage.py migrate

6. Now Run Server

Command for PC:

$ python manage.py runserver

Command for Mac:

$ python3 manage.py runserver

Command for Linux:

$ python3 manage.py runserver

7. Login Credentials

Create Super User (HOD) Command for PC:

$  python manage.py createsuperuser

Command for Mac:

$  python3 manage.py createsuperuser

Command for Linux:

$  python3 manage.py createsuperuser

Then Add Email and Password

or Use Default Credentials

For HOD /SuperAdmin Email: [email protected] Password: admin

For Staff Email: [email protected] Password: staff

For Student Email: [email protected] Password: student

For Sponsor or Projects Enquiry

  1. Email - [email protected]
  2. LinkedIn - jobic10
  3. Twitter - jobic10

How the system works

Administrator is required to have created candidates. Before creating candidates, the admin must have created positions After doing this, the voters can vote (provided that they are registered and verified)

How do voters get verified ?

OTP is sent to voter's phone. In a case of OTP delivery error, voter can request for OTP again. The OTP is sent via an SMS gateway. Voters can request for OTP for a maximum of three times. Same OTP is sent to voters

Can OTP verification be bypassed ?

Yeah, sure. Open settings.py and toggle SEND_OTP to False Then, wait till server restarts

Open to contribution ?

Yeah. Pull requests are welcomed.

Having any issue using this ?

Please, let us know. Open up an issue.

e-voting-with-django's People

Contributors

arose114 avatar jobic10 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.