
Online Voting System
Introduction :
The Online Voting System is a secure, web-based platform that enables registered users to vote digitally in elections. It simplifies the voting process by replacing manual voting with a fast, transparent, and efficient online system.
Project Objective:
To build a role-based online voting platform where:
-
Admins can manage elections and candidates.
-
Voters can cast their vote securely, only once per election.
-
Results are calculated and displayed automatically.
User Roles & Functionalities:
1. Admin
-
Login to admin panel.
-
Create new elections.
-
Add, update, or delete candidate details.
-
Start and stop the voting period.
-
View election results once voting ends.
2. Voter
-
Register and login securely.
-
View ongoing elections.
-
Cast a vote (only once per election).
-
View voting confirmation.
-
Access results after voting ends.
Core Modules Explained:
Authentication Module
-
Users (voters and admins) must register/login to access system.
-
Role-based access ensures separation of admin and voter functionality.
-
Passwords are securely hashed before storage.
Election Management Module
-
Admins can create and manage multiple elections.
-
Each election has a list of candidates.
-
Voting can be started or stopped manually by the admin.
Voting Module
-
Voters can vote in ongoing elections.
-
Once voted, their status is updated to prevent re-voting.
-
Votes are stored and counted in real-time.
Result Module
-
Once voting ends, results are calculated automatically.
-
Admin and voters can view total votes per candidate.
-
Clear winner identification is displayed.
User Interface Features:
-
Clean and responsive interface using HTML, CSS, Bootstrap, and EJS.
-
Separate dashboards for voters and admins.
-
Easy-to-use voting system with confirmation prompts.
-
Clear status indicators for election status (active/inactive).
-
Vote buttons disabled after user casts vote.
System Workflow:
-
Registration/Login:
Users register or login based on their role. -
Election Setup (Admin):
Admin creates an election, adds candidates, and starts the voting. -
Vote Casting (Voter):
Voter logs in → chooses a candidate → submits vote (only once). -
Vote Recording:
System records the vote and disables further voting for that user. -
Voting Ends:
Admin stops the election and publishes results. -
Result Display:
Vote counts per candidate shown to both admin and voters.
Key Advantages:
-
One-person-one-vote enforcement
-
Eliminates physical infrastructure for voting
-
Easy to deploy in educational institutes, clubs, or internal polls
-
Real-time and accurate results
-
Improves transparency and accessibility