An online voting system is a software platform that allows groups to securely conduct votes and elections. With a robust feature set, this system ensures the integrity of the voting process and provides real-time results.
- Secure User Authentication: Voters are required to log in with their unique credentials to cast a vote.
- Real-time Results: View the election results in real-time as votes are being cast.
- Admin Panel: A comprehensive admin panel to manage voters, candidates, and positions.
- Voter Management: Add, edit, and delete voters from the system.
- Candidate Management: Add, edit, and delete candidates for each position.
- Position Management: Create and manage different positions for the election.
- Printable Ballot: Voters can print their ballot after casting their vote.
- Frontend: HTML, CSS, JavaScript, jQuery, Bootstrap
- Backend: PHP
- Database: MySQL
- Clone the repository:
git clone https://github.com/your-username/Online-Voting-System.git
- Import the database:
- Create a new database in your MySQL server.
- Import the
db/online_voting.sqlfile into your newly created database.
- Configure the database connection:
- Open the
includes/conn.phpfile. - Update the database credentials with your own.
- Open the
- Admin Login:
- Navigate to the
admin/directory. - Log in with the default admin credentials (you can change them later).
- Navigate to the
- Voter Login:
- Navigate to the root directory.
- Log in with your voter ID and password.
- Casting a Vote:
- After logging in, you will be redirected to the voting page.
- Select your desired candidates for each position.
- Click on the "Submit Ballot" button to cast your vote.
| Login Page | Voter's Dashboard |
|---|---|
![]() |
![]() |
Online-Voting-System/
├── Screen Shots/
├── admin/
├── bower_components/
├── db/
├── dist/
├── home.php
├── images/
├── includes/
├── index.php
├── login.php
├── logout.php
├── plugins/
├── preview.php
└── submit_ballot.php
The database schema is defined in the db/online_voting.sql file. It includes the following tables:
admincandidatespositionsvotersvotes
The admin panel allows you to manage the entire voting process. You can perform the following actions:
- Dashboard: View the election results in real-time.
- Votes: View the list of all casted votes.
- Voters: Manage the list of voters.
- Positions: Manage the list of positions.
- Candidates: Manage the list of candidates.
Contributions are welcome! If you have any suggestions or improvements, please create a pull request or open an issue.
This project is licensed under the MIT License. See the LICENSE file for more details.

