Best Flask open-source libraries and packages

CampusVote

Our HackForTomorrow Project
Updated 1 year ago

CampusVote

Blockchain based Voting Platform for Transparent Campus Elections.

Objective

To make a transparent online voting platform for Colleges using blockchain technology. Polygon Mumbai testnet used for demo. Moralis Speedy Nodes for the Node.

Demo

Loading

Features

  • Faster result declaration.
  • Less effort of manual counting.
  • Seamless, yet transparent voting even during lockdowns.
  • Less need for disputes as votes and data are public and immutable thanks to blockchain.

Working

User (Voter)

  • User logs in with Metamask.
  • User requests for token to Flask backend to have balance to make the voting transaction.
  • Once tokens recieved, User presented with voting options, and casts the vote.
  • Vote casting done with the help of Smart contract deployed to Mumbai Testnet. View the contract
  • Double voting is prevented by Smart Contract.
  • Results can be seen in the home page by clicking Get Results which invokes a view function in the Smart Contract

Admin Panel

  • Start/Stop elections buttons which invoke fucntions to prevent or allow election in the Smart Contract.
  • Add candidate option
  • Verify voter takes in the account address of User and marks it as verified, only after which can the user make a vote. This is to be automated with log in and voters list. (This prevents false voting)

Deploy Contracts

  yarn install
  truffle develop
  compile --all
  migrate --network mumbai --reset

Run the Frontend

  yarn install
  yarn start

To build:

  yarn build

Run the Flask Backend

(for serving user requests for tokens to make voting transactions)

  cd SERVER
  pip install -r requirements.txt
  python server.py

Made with ❤️ by:

Tags blockchain