Online Voting System Using Python
Online Voting System
Overview
A simple yet practical project, the Online Voting System is designed to digitize and simplify the voting process for schools, colleges, or organizations. Built using Python and Tkinter, this desktop-based application provides a user-friendly and interactive interface, while Excel files are used as the database, making it lightweight, easy to manage, and accessible for beginners.
This project is perfect for students, as it demonstrates how to integrate Python GUI with file-based databases and real-world concepts like role-based access, voting management, and result calculation. Beyond being a learning tool, the system can also be used in smaller institutions or organizations for conducting elections in a secure and transparent way.
Project Details
Project Name | Online Voting System |
---|---|
Language/s Used | Python |
Python Version | 3.x |
Database | Excel (via openpyxl ) |
Type | Desktop GUI Application |
Download New Real Time Projects :-Click here
Key Features of Online Voting System
The Online Voting System comes with all the essential modules needed to manage an election process digitally. From handling candidates and voters to conducting voting sessions and generating results, the system ensures smooth operation with transparency. Here’s a detailed breakdown:
1. Admin Dashboard
-
A dedicated dashboard designed for administrators to manage the entire voting process.
-
Provides access to all core features including candidate management, voter management, session control, and results monitoring.
-
Built with a clean Tkinter GUI, ensuring that even first-time users can navigate easily.
2. Candidate Management
-
Admins can add new candidates by entering their details such as name, photo, and election symbol.
-
Options to edit or update candidate information if needed.
-
Delete candidate entries if a participant withdraws from the election.
-
View a structured list of all registered candidates with their respective details, ensuring clarity in election management.
3. Voter Management
-
Admins can view a complete list of registered voters, including details stored in the Excel database.
-
Remove outdated or invalid voter entries with the delete voter option.
-
Track participation by checking which voters have already cast their votes.
-
Helps in maintaining transparency and preventing duplicate voting.
4. Session Management
-
Admins can start or stop voting sessions with a single click.
-
Real-time session monitoring ensures that votes are only cast during active sessions.
-
Prevents unauthorized or late voting by closing sessions when the election ends.
-
Maintains logs of session activity to ensure fairness.
5. Results & Live Vote Counting
-
The system offers live vote tracking, displaying the total votes each candidate has received during the election.
-
Results can be exported to Excel, making it easy to share or print official records.
-
Detailed statistics include individual candidate vote counts, helping in clear decision-making.
-
Live results create transparency and allow instant analysis of election progress.
6. Voter Panel
-
A simple yet secure panel designed for voters to cast their votes.
-
Login system ensures only registered voters can participate in the election.
-
Each voter is allowed to vote only once, preventing duplication.
-
Voting is made engaging with a photo-based interface, where candidates’ images and symbols are displayed.
-
Voters can check their own voting status to confirm whether their vote has been successfully recorded.
-
Option to view final election results (if enabled by the admin).
7. Login Credentials & Access Control
-
Admin Login:
-
Default Username/Password:
admin123
-
Full privileges to manage candidates, voters, voting sessions, and results.
-
-
Voter Login:
-
Secure credentials provided to each voter.
-
Limited access — only to voting panel and election status.
-
Voter Logins
Voter Name | Voter ID | Password | Status |
---|---|---|---|
voter1 | 1111 | 1111 | Can vote |
voter2 | 2222 | 2222 | Can vote |
voter3 | 3333 | 3333 | Has voted |
System Architecture
File-Based Database Structure
File | Purpose | Description |
---|---|---|
candidates.xlsx |
Candidate Data | Stores candidate details & photos |
voters.xlsx |
Voter Records | Voter credentials & vote status |
votes.xlsx |
Vote Logs | Vote count and timestamps |
registration.xlsx |
Voter Registration | Registration information |
session.xlsx |
Session Management | Voting session status |
Technology Stack
- Programming Language: Python 3.x
- GUI Library: Tkinter
- Data Handling: Excel files (
openpyxl
) - Image Support: Pillow (PIL)
- Security:
bcrypt
for password hashing
Installation Guide
Prerequisites
- Python 3.x installed
pip
package manager
Steps
- Install required libraries:
pip install -r requirements.txt
- Launch the application:
python main.py
Data Management
Candidate Data Schema
Field | Type | Description |
---|---|---|
id | Integer | Unique Candidate ID |
name | String | Candidate Name |
post | String | Post or Position |
photo_path | String | Path to Photo |
symbol_path | String | Path to Symbol |
votes | Integer | Vote Count |
Voter Data Schema
Field | Type | Description |
---|---|---|
voter_id | String | Unique Voter ID |
password | Encrypted | Password (Hashed) |
has_voted | Boolean | Voting Status |
Security Features
Implemented
- Password encryption using
bcrypt
- Voter authentication with credentials
- Admin-only dashboard access
- One-time vote enforcement
- File-based secure session control
Recommended Upgrades
- Encrypt Excel database files
- Add 2FA (Two-Factor Authentication)
- Include audit logs and backups
- Implement role-based access control
We have projects Available in all languages:–Click Here
online voting system using python pdf
online voting system project with source code
online voting system project with source code pdf
online voting system using python in ppt presentation
online voting system project in python with source code github
online voting system project in python report
online voting system project source code in html
simple voting system in python
Post Comment