The e-Voting System is an online platform that allows registered voters to cast their votes securely and anonymously in an election. The system ensures that each voter can vote only once, and the results are calculated automatically once the election period ends. The platform includes voter registration, candidate management, election creation, and result generation features.
-
User Authentication:
- Voter Registration: Voters can sign up using their personal information (e.g., name, email, voter ID, etc.). The system will verify their identity and ensure they are eligible to vote.
- Login: Registered voters and administrators can log in securely using their credentials.
- Forgot Password: Implement a password recovery process using email verification.
-
Dashboard:
- Voter Dashboard: Displays election details and candidate information, allowing voters to vote.
- Admin Dashboard: Allows administrators to manage the election, including voter registration, candidate management, and result monitoring.
-
Election Management:
- Election Creation: Admins can create and schedule new elections, set voting start and end dates, and define the list of eligible voters.
- Candidate Management: Admins can add, edit, or remove candidates running in the election. Each candidate's details, such as name, party, and biography, can be managed.
-
Voting Process:
- Ballot Interface: Voters can view the list of candidates and cast their votes. The system ensures that each voter can only vote once and that the vote is anonymous.
- Vote Confirmation: After casting a vote, the system provides a confirmation, ensuring the vote has been recorded.
-
Results and Reporting:
- Real-time Results: Admins can view real-time voting results once the election is completed. Results are presented in graphical formats like bar charts or pie charts.
- Audit Logs: The system keeps detailed logs of all voting activities for transparency and auditing purposes.
-
Security Measures:
- Data Encryption: All data, including votes, are encrypted to ensure privacy and security.
- Anonymity: The system guarantees that individual votes cannot be traced back to the voter.
- Access Control: Only authorized users (voters and admins) can access the system. Admins have additional privileges to manage the system.
-
Voting Day Management:
- Set Voting Day: Admins can set a specific day for voting, and the system will automatically open and close voting at the designated times.
- Time-based Restrictions: Ensure that voting is only allowed during the specified election period.
- Frontend: React & Tailwind CSS (for building a responsive and dynamic user interface)
- Backend: Laravel (for handling server-side logic, authentication, and API creation)
- Database: MariaDB (for storing voter data, candidate information, and election results)
This system could be used for various types of elections, such as student body elections, organizational votes, or even small-scale government elections, depending on its scalability and security features.