Skip to content

M0neySSH/SecureVote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blockchain-Based Online Voting System

A secure, transparent, and decentralized voting application built on the Ethereum blockchain. This project ensures election integrity using smart contracts and Merkle tree verification.

Project Banner

🌟 Features

  • Decentralized Voting: All votes are recorded on the Ethereum blockchain, ensuring they are immutable and transparent.
  • Secure Authentication: Uses Merkle Proofs for voter whitelisting and WebAuthn for secure device access.
  • Real-Time Analytics: Live visualization of election results using interactive Bar and Pie charts.
  • Admin Dashboard: comprehensive tools for election commissioners to create elections, add candidates, and manage timelines.
  • Voter Privacy: Ensures one-person-one-vote while maintaining voter anonymity.
  • Vote Verification: Voters can verify their vote was counted using a unique transaction hash/QR code.

🛠️ Tech Stack

  • Blockchain: Solidity (Smart Contracts), Hardhat
  • Frontend: React.js, Vite, Tailwind CSS
  • Interaction: Ethers.js
  • Visualization: Recharts
  • Security: OpenZeppelin (MerkleProof)

📸 Screenshots

Voting Booth

Voting Booth

Real-time Results

Results

Admin Dashboard

Admin Dashboard

🚀 Getting Started

Prerequisites

  • Node.js (v14+)
  • MetaMask Wallet Extension

Installation

  1. Clone the repository

    git clone https://github.com/Manisbisht/Online-Voting-through-blockchain.git
    cd voting2.0
  2. Install Dependencies

    # Install root/backend dependencies
    npm install
    
    # Install frontend dependencies
    cd frontend
    npm install
  3. Start Local Blockchain

    # Open a new terminal
    cd contracts
    npx hardhat node
  4. Deploy Smart Contract

    # In 'contracts' folder
    npx hardhat run scripts/deploy.js --network localhost
  5. Run the Application

    # In 'frontend' folder
    npm run dev

About

Blockchain based voting system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors