All Projects → jobic10 → e-voting-with-django

jobic10 / e-voting-with-django

Licence: MIT license
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 s…

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to e-voting-with-django

proof-of-vote
Votem's Proof of Vote® protocol whitepaper
Stars: ✭ 20 (-62.96%)
Mutual labels:  voting
Votum
A Discord bot for managing small party voting systems
Stars: ✭ 20 (-62.96%)
Mutual labels:  voting
Snippet-Share
This is a snippet sharing app that can be used to share snippets of code and more.
Stars: ✭ 41 (-24.07%)
Mutual labels:  django-project
ultimate-poll-bot
💡 The ultimate vote and poll bot for creating, sharing and evaluating polls inside of Telegram
Stars: ✭ 109 (+101.85%)
Mutual labels:  voting
Fenice-Network
Building the job search portal which helps both recruiters and job seekers to get perfect jobs.
Stars: ✭ 20 (-62.96%)
Mutual labels:  django-project
ios-application
A native, lightweight and secure one-time-password (OTP) client built for iOS; Raivo OTP!
Stars: ✭ 581 (+975.93%)
Mutual labels:  otp
Django-Verify-Email
A two-step verification for new accounts by verifying email.
Stars: ✭ 51 (-5.56%)
Mutual labels:  django-project
MinaOTP
TOTP authenticator implement as a wechat mini program
Stars: ✭ 30 (-44.44%)
Mutual labels:  otp
cre
common runtime environment for distributed programming languages
Stars: ✭ 20 (-62.96%)
Mutual labels:  otp
minibrass
Modeling preferences and soft constraints -- qualitatively and quantitatively on top of MiniZinc
Stars: ✭ 13 (-75.93%)
Mutual labels:  voting
votacidade-app
Calculadora de afinidade para o Vota Cidade 2020
Stars: ✭ 12 (-77.78%)
Mutual labels:  voting
abacus
Abacus is a tool to simplify the handling of units
Stars: ✭ 22 (-59.26%)
Mutual labels:  otp
laravel-otp
A laravel package to protect your routes with one time passwords (otp)
Stars: ✭ 147 (+172.22%)
Mutual labels:  otp
otp
📫 Fault tolerant multicore programs with actors
Stars: ✭ 169 (+212.96%)
Mutual labels:  otp
otp-authenticator-webapp
A 'Google Authenticator' like Single Page Application
Stars: ✭ 69 (+27.78%)
Mutual labels:  otp
mubapp
MUB is a multi-user blog web app using the Python-Django infrastructure.
Stars: ✭ 24 (-55.56%)
Mutual labels:  django-project
matrix-pstn-bridge
☎️ A Matrix Puppet bridge for the public telephone network that supports a number of VoIP providers (Twillo, Vonage, etc.). Sends and receives voice and SMS.
Stars: ✭ 25 (-53.7%)
Mutual labels:  sms-gateway
angular-code-input
Code (number/chars/otp/password) input component for angular 7, 8, 9, 10, 11, 12+ projects including Ionic 4, 5 +
Stars: ✭ 112 (+107.41%)
Mutual labels:  otp
laravelbdsms
Xenon\LaravelBDSms is a sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways like sslcommerz, greenweb, dianahost, metronet,boomcast, bulksmsbd, banglalink from Laravel framework
Stars: ✭ 68 (+25.93%)
Mutual labels:  sms-gateway
otp-view
OTP View
Stars: ✭ 32 (-40.74%)
Mutual labels:  otp

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].