/votechain

Primary LanguageJavaScript

VoteBlock

Decentralized blockchain based voting system for oragnizations

VoteBlock is a decentralized blockchain based voting system for oragnization. It is built upon ethereum blockchain with use of truffle framework. The frontend part of it uses react js and backend is on ethereum with smart contracts in solidity. So here an admin of any organisation can create on or multiple elections, where people from that organisations apply to it. Voters here can login using metamask and their identity is completely anonymous. They can see the results, apply and be candidate.

Markdown Monster icon

Features

VoteBlock has 3 roles involves:

  • Admin -- Candidates/Applicants -- voters
  • Admin has certain privileges:
  • Admin can approve/ reject applicants application based on certain criteria.
  • Create the election and set time limit for it.
  • Multiple elections can be created and run at the same time.
  • Every user can apply for the any post in election.
  • There is privacy for users voting.

Tech

VoteBank uses a number of open source projects to work properly:

  • ReactJS for frontend
  • Solidity for smart contracts
  • TailwindCSS for styling
  • Truffle for creating dApp development enviroment
  • Ganache for blockchain environment
  • IPFS for storing files

Installation

VoteBank requires Node.js v10+ to run.

Install the dependencies and devDependencies and start the server.

cd VoteBsnk
npm i
node app

For production environments...

npm install --production
NODE_ENV=production node app