Coder Social home page Coder Social logo

gui-based-online-voting-system's Introduction

Online Voting System

The Online Voting System is a graphical user interface (GUI) application built using Tkinter in Python. It facilitates the process of voting by extracting user details from Aadhaar and voter ID cards, authenticating the elector against a dummy government database, and sending a one-time password (OTP) to the elector's mobile phone for verification. The system also includes an admin panel to check the voting results, and the admin's identity is verified using the Simple Mail Transfer Protocol (SMTP).

Features

  • GUI Interface: The system provides an intuitive graphical user interface built using Tkinter, which allows users to easily navigate and interact with the application.

  • Data Extraction: EasyOCR is used to extract user details from Aadhaar and voter ID cards. The extracted data & entered user details are compared with a dummy government database to authenticate the elector's identity.

  • Mobile OTP Verification: Twilio API is integrated to send a one-time password (OTP) to the elector's mobile phone. This adds an extra layer of security to ensure that only legitimate voters can participate in the voting process.

  • Database Management: The system utilizes MySQL for backend database management. It stores the electors who have cast their votes in a separate database for tracking and auditing purposes.

  • Admin Panel: An admin panel is provided to view the voting results. To access the admin panel, the administrator needs to be verified using the Simple Mail Transfer Protocol (SMTP) library in Python.

Requirements

  • Python 3.x
  • Tkinter
  • EasyOCR
  • MySQL
  • Twilio API
  • SMTP

Installation

  1. Clone this repository:
git clone https://github.com/akshitbtw/GUI-Based-Online-Voting-System.git
  1. Install the required dependencies. You can use pip to install them:
pip install tkinter
pip install easyocr
pip install mysql-connector-python
pip install twilio
  1. Set up the MySQL database:

    • Install MySQL if you haven't already.
    • Create 2 new databases, 1 which acts as government database & 1 to store electors that have voted.
    • Update the database connection settings in the application code.
  2. Configure the Twilio API:

    • Sign up for a Twilio account and obtain your API credentials.
    • Update the Twilio API settings in the application code.
  3. Configure the SMTP settings:

    • Update the SMTP server settings and email credentials in the application code.

Usage

  1. Run the application:
python main.py
  1. The GUI interface will be displayed. Users can enter their details.

  2. The system will authenticate the elector against the dummy government database and send an OTP to their mobile phone for verification.

  3. Once the OTP is verified, the elector will be able to cast his/her vote, and the elector will be stored in the voted electors database.

  4. The admin can access the admin panel by logging in using the provided credentials.

  5. In the admin panel, the voting results can be checked and analyzed.

Screenshots

Elector Interface

1 2 3 4 5

Admin Interface

6 7 8

gui-based-online-voting-system's People

Contributors

akshitbtw avatar

Watchers

 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.