EECE571G_BLOCKCHAIN_Final_Project
Basic Info
Project Name: Global Voting System
Group Name: TBD.
This is the repository for UBC EECE571G Blockchain Software Engineering Project, 2020.
Steps:
- cd client : npm install
- New workspace in Ganache with truffle-config.js under root
- truffle compile
- truffle migrate --reset
- type "npm start" under ./client
- Copy first account key from Ganache and import into metamask with new created account
- Refresh the page
Features
This Dapp is for straight voting and cumulative voting on the blockchain.
What is the difference between straight voting and cumulative voting? -> see here[https://tremblylaw.com/cumulative-and-straight-voting-know-the-difference/]
Key functions:
- Candidate Creation ** Can only be done by deployer **
- Share Allocation ** Can only be done by deployer **
- Vote setting & vote start end date ** Can only be done by deployer **
- Vote type change ** Can only be done by deployer **
- Vote for multiple candidate (But you can't exceed the number of open seats, and can't exceed your shares)
- View personal vote history
- Change personal vote (maximum 3 times)
- Change the your vote (You have 3 chances to change your vote)
- View real-time voting results
Framework
Back-end
solidity + truffle + Ganache
Front-end
react + web3 + bootstrap