Giter VIP home page Giter VIP logo

prnvbaraiya / e-voting-system-using-blockchain Goto Github PK

View Code? Open in Web Editor NEW
17.0 2.0 8.0 29.92 MB

E-voting system using blockchain & face recognition where user can give vote using blockchain and user must recognize using face recognition software. we are using blockchain so the voting data can't be altered and for only one vote casting face recognition so only one user can cast one vote. if you have any problems drop me a mail

HTML 1.35% JavaScript 80.03% CSS 16.08% Solidity 0.89% Python 1.65%
blockchain e-voting express mini-project minor-project nodejs python react solidity solidity-contracts

e-voting-system-using-blockchain's Introduction

E-Voting System using Blockchain

This project is a web application that allows users to vote for their preferred candidates in an election. The project uses MongoDB for database management and has three collections for candidates, elections, and users.

Installation and Setup🔧

MongoDB🍃

To create the required database collections, refer to the /server/Models files after entering the URL in /server/.env line 2.

Third-Party Email Verification 📧

To enable automatic email sending, add third-party verification to your email and register the app to get a secret key🔑. Then, add the email and password in /server/.env.

For more detail: https://support.google.com/accounts/answer/185833

Ganache⛓️

For free ethereum, install Ganache and add /smart_contract/truffle-config.js to your account to receive ten free accounts with 100 ETH.

Metamask 🦊

Add the Metamask Chrome extension for transactions.

Contract Compilation 💻

To compile the contract, open the command prompt and navigate to the smart_contract directory using the command cd smart_contract. Then, run the command npm install -g truffle(if truffle already not installed), truffle compile and truffle migrate. Finally, follow the steps after compilation by copying and pasting the address and transaction.json.

After installing Ganache, compile the contract in /smart_contract using Truffle. Then, add the transaction address in Client/utils/Constant.js. Also, copy /smart_contract/build/contracts/Transaction.json and paste it in Client/utils/Transaction.json for ABI value.

Python Script(required for face authentication)🐍

To install the necessary packages for the Python script, use the command pip install opencv-python, numpy, os, face_recognition. Add photos to /Face with the same username in use. To add a URL for photos, go to /server/Controller/encoded.py line 6.

Want to Enable/Disable Face Authentication ?🤔

Default value is false to enable/disable change isFaceRecognitionEnable in Client/src/Data/Variable.jsx.(Python Modules required)

Running the Web Application🌐

Follow the steps below to run the web application:

  1. Go to the Client folder and install all node modules using npm install then run the command npm run start.
  2. Go to the server folder and install all node modules using npm install then run the command nodemon main.
  3. Wait a few minutes for the site to start.

e-voting-system-using-blockchain's People

Contributors

prnvbaraiya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

e-voting-system-using-blockchain's Issues

Readme.md missing Database name

There is instruction about collections and following that we can get the schema as well but what should be the database name?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.