This Python project implements a voting system with two interfaces:
- ⚖️ Candidate registration interface for the election commissioner.
- Login page for users/voters to select their candidate for two positions: MLA and MP.
- Election Commissioner Interface: Allows the election commissioner to register candidates for the election ➕.
- User/Voter Interface: Allows users/voters to log in and cast their votes for MLA and MP positions ️.
- Admin Password Protection: Certain modules require the admin password to proceed, ensuring security and control .
- Visualization of Results: Utilizes Matplotlib to visualize the election results at the end .
- Python 3.x
- PIL (Python Imaging Library) ️
- tkinter ️
- openpyxl
- shutil
- Clone or download this repository.
- Ensure you have Python installed on your system.
- Install dependencies using pip:
Example:
In terminal: pip install shutil
For collab or kaggle notebooks: !pip install shutil
- Run the
voting_system.py
file. - Follow the prompts:
- If you're the election commissioner, register candidates with the admin password .
- If you're a user/voter, log in and cast your votes .
- At the end of the voting period, the results will be displayed using Matplotlib ✨.
voting_system.py
: Main Python script containing the implementation of the voting system.candidates.csv
: CSV file storing the registered candidates.users.csv
: CSV file storing the registered users/voters.
- Admin Module:
- Register candidates with password protection .
- User Module:
- Log in for voters.
- Cast votes for MLA and MP ️.
- Results Module:
- Visualize election results .
Contributions are welcome! Please feel free to fork this repository and submit pull requests to suggest improvements.
This project is licensed under the GNU GENERAL PUBLIC LICENSE 3.0.