EVS-Electronic Voting System based on Blockchain Test phase, srs, design phase and source code final deliverable
Web application / Blockchain
Abstract / Introduction
In this project, we will develop a Blockchain-based web application to implement the electronic voting system.
The goal is to build an application that allows Voters to vote for the party they want with their Voter ID. One voter can only vote one time with their Unique Voter ID. Since the voting information will be stored on the Blockchain, it’ll be immutable and permanent. Users will interact with the application via a simple web interface.
This Electronic Voting System will be developed to help eliminate any chance of tampering and improve the reliability and dependability of a voting system. This EVS application consists of two modules,
- The Admin
- The Voter (user)
Functional Requirements:
The following are the main functional requirements
The Admin module:
In this system, the admin is the sole authority to manage elections, candidates, and voters. Admin can also view the votes. Admin can also check if any vote is tampered with, thus checking and verifying the block Login:
- Admin can login using id and password.
- Manage Elections:
- Add/update/delete/view Elections.
- Manage Candidates:
- Add/update/delete/view Candidates.
- Manage Voters:
- Add/update/delete/view Voters.
- View Votes:
- list of elections.
- List of voters
- Winner
- Verify data with block created to know if it’s tampered
The Voter module:
Voters can view Elections and cast their vote, and also can view the winner but cannot see the winning ratio or votes, etc. The system uses Blockchain technology to create a block of every vote thus protecting its identity. Login:
- User can login to his personal account using his id and password.
- Profile:
- User can view and update his profile.
- Change Password:
- can change the password within the app. Elections:
- Pending / Participated
- View elections
- View Candidates
- Cast Vote if not
- Winner will be shown if the election is complete
Tools:
- Front End – Anaconda IDE
- Backend – SQL
- Language – Python 3.8
Supervisor:
Name: Fouzia Jumani