/BlockChain-based-Voting-Ballot-DApp-NBA-MVP-Ballot

Balloting is an age old method for realizing consensus among participants with different opinions and opposing views. An online digital balloting opens up its application to diverse applications from a local land dispute resolution to planetary level decision on global governance. You are required to design and develop a Dapp that can enable a trustworthy and transparent online voting system with automatic counting of votes. To address these needs, you will design and implement an Ethereum blockchain-based Dapp.

Primary LanguageJavaScript

Ethereum blockchain-based Dapp

Description: Balloting is an age old method for realizing consensus among participants with different opinions and opposing views. An online digital balloting opens up its application to diverse applications from a local land dispute resolution to planetary level decision on global governance. You are required to design and develop a Dapp that can enable a trustworthy and transparent online voting system with automatic counting of votes. To address these needs, you will design and implement an Ethereum blockchain-based Dapp.

Our Use Case: NBA MVP Award selection voting

Voters: Voters are Sportwriters and Broadcasters from USA/Canada. Each member of the voting panel casts a vote for first to fifth place selections.

    1st place -> 10 points
    2nd place -> 7 points
    3rd place -> 5 points
    4th place -> 3 points
    5th place -> 1 points
    
    Candidate with highest point wins the NBA MVP Award.

Software Installation: Before you begin development make sure these tools are installed in your laptop: 1) Truffle: v5.0.27 or latest https://www.npmjs.com/package/truffle 2) Node: v10.15.3 or latest : v10.16.3. https://nodejs.org/en/ 3) npm: 6.4.1 or latest https://www.npmjs.com/get-npm 4) ganache v2.1.1 https://www.trufflesuite.com/ganache

Design and implementation:

Part I: Smart contract design and development:

Part II: Develop the web UI: