A web-based voting management system for handling voter registration, ballot creation, and result tabulation. Built with PHP and designed for secure, efficient election processes with an intuitive admin interface.
- Voter Registration — Register and manage voter records with validation.
- Ballot Creation — Create and configure ballots with multiple candidates and positions.
- Secure Voting — Authenticated voting with one-vote-per-voter enforcement.
- Real-Time Results — Live tabulation and result display as votes come in.
- Admin Dashboard — Full administrative control over elections, candidates, and voters.
- PDF Export — Generate printable election reports using TCPDF.
| Layer | Technology |
|---|---|
| Backend | PHP |
| Frontend | HTML, CSS, JavaScript (Bootstrap via Bower) |
| Database | MySQL |
| PDF Generation | TCPDF |
| UI Components | AdminLTE / Bootstrap |
- PHP 7.4+
- MySQL 5.7+
- Apache or Nginx web server (or XAMPP/WAMP/MAMP for local development)
- Composer (optional)
git clone https://github.com/prcharan592/SmartVote-A-Secure-Online-Voting-and-Election-Management-System.git
cd SmartVote-A-Secure-Online-Voting-and-Election-Management-System- Import the database schema from the
db/folder into MySQL. - Update database credentials in
includes/configuration files. - Start your local server and navigate to
http://localhost/SmartVote-A-Secure-Online-Voting-and-Election-Management-System/.
- Admin Panel:
http://localhost/.../admin/ - Voter Login:
http://localhost/.../login.php
├── admin/ # Admin dashboard and management pages
├── bower_components/ # Frontend dependencies (Bootstrap, etc.)
├── db/ # Database schema and seed data
├── dist/ # Compiled frontend assets
├── includes/ # PHP includes and configuration
├── plugins/ # Additional UI plugins
├── tcpdf/ # PDF generation library
├── home.php # Landing page
├── index.php # Main entry point
├── login.php # Voter login
├── logout.php # Session logout
├── preview.php # Ballot preview
├── submit_ballot.php # Vote submission handler
└── README.md
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add your feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
prcharan592 — GitHub Profile