Online Voting System in PHP MySQL Submitted by - Aniket Negi Section: A (17) University Roll no.: 2018681 Under the mentorship of - Dr. Pawan Kumar Mishra Associate Professor
Introduction The Online Voting System is a web-based application designed to facilitate the voting process over the internet. It leverages modern web technologies to provide an accessible, efficient and secure platform for casting votes. Key features of the Online Voting System are: 1- User Authentication 2- Creating elections with a specific agenda 3- Managing candidates 4- Vote Counting
eBallot
Problem Statement Traditional voting systems are the most common method of conducting elections. In this system, voters go to designated polling stations, cast their votes on voting ballots, and the votes are later counted. However, this method has a lot of drawbacks like Accessibility issues, having to stand in long queues, increased costs and security concerns, etc. To address the limitations of these traditional voting methods, Online Voting System is created.
Methodology PHP is used as the server side scripting language to handle all backend communication, like authentication or casting votes. MySQL is used as the database to manage, store and query all the election related data, like a voter’s details, agenda of an election, details of the candidates, and votes. HTML and CSS (Tailwind CSS) are used to structure and style a web application, ensuring an easy to navigate the user interface .
ER diagram for the Database
For authentication, we make use of SHA-256 hashing function for hashing the inputted user’s password to an output value that is 256 bits long, to be stored in the database, making sure a user’s password is transformed into a secure and unreadable format. While signing in, we hash the entered password and compare it with the value stored in the database. If it’s the same, then that means the password is correct.
Logic to create, delete, end or resume an election (ADMIN PANEL)
Logic to add or delete a candidate (ADMIN PANEL)
Logic to cast vote to a candidate
Logic to get the highest vote after ending an election
Results
Conclusion and Future Work Successfully created an efficient and accessible Voting system. Room for Improvement: Encrypt the votes casted by a user. Multi factor authentication while signing in. There could be an analytics dashboard where the admin can view what kind of candidate was voted in elections using the details of the candidates, or perform other analysis.