A website developed to provide a safe secure way to vote in the elections
Utilizes blockchain technology
To run this project on a local machine:
- Download Node and install.
- Download this code and navigate a command prompt to the main directory
- run npm install command
- download and install mysql and enter the mysql command line client
- Run command CREATE USER 'node'@'localhost' IDENTIFIED BY 'dbpassword';
- Run command GRANT ALL ON * . * TO 'node'@'localhost';
- Then add the data by running . PATHTOFILE\database_setup.sql
- back in the command line run npm start
Change connections.js if you would like to have the program connect to a different server
Pre: Check server time to see if voting is opened One server per time zone. Voting opens at 8 am and closes at 5 pm in each time zone
- User enters their verification information
- Validate verification information
- If authentication is accpeted proceed to voting booth
- Pull candidates from mysql and display
- User votes
- Set user vote for year to true. pass along vote information to blockchain system
- Block is created with vote information
- Add block to pending votes
- Mine as many votes as possible
- Update chain with recently mined blocks
- Notify other nodes that the chain has been modified
- Notify user if their block has been mined that their vote has been counted and give receipt id
You can contact us if you have any questions