Skip to content

Shristirajpoot/VoteChain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—³οΈ VoteChain – Blockchain-Powered E-Voting System

License GitHub stars GitHub last commit

A secure, transparent, and tamper-proof blockchain-based voting system
Developed with ❀️ by Shristi Rajpoot


🌐 Overview

VoteChain is a fully decentralized e-voting platform leveraging the Ethereum blockchain, IPFS, and modern web technologies to ensure secure, auditable, and reliable elections. It enables companies or institutions to organize elections, register voters and candidates, and allow secure votingβ€”all while maintaining transparency and trust.


✨ Features

  • βœ… Blockchain-Powered Voting – Uses Ethereum & Solidity to secure each vote
  • πŸ—³οΈ Election Management – Create elections, add candidates and voters
  • πŸ” Secure Voter Authentication – Voters receive encrypted credentials via email
  • πŸ“© Email Notifications – Real-time email alerts for credentials, election updates & results
  • ⚑ Instant Results – Votes are counted automatically, and results are visible immediately
  • 🌍 Decentralized Storage – Candidate images and data stored via IPFS

🧱 Tech Stack

  • Frontend: Next.js, Semantic UI React
  • Smart Contracts: Solidity, Web3.js
  • Backend: Node.js, Express.js, MongoDB
  • File Storage: IPFS
  • Blockchain: Ethereum (Tested on Rinkeby Network)

πŸ–₯️ Screenshots

πŸ“Έ Real views of the VoteChain E-Voting System:

Homepage Company Login
Create Election Election Dashboard
Voter List Voter Mail Notification
Voter Login Successful Voting
Unsuccessful Voting Winner Announcement Email

βš™οΈ Setup Instructions

πŸ“¦ Prerequisites

  • Node.js (recommended v11.14.0)
  • MongoDB running on localhost:27017
  • MetaMask installed (for Ethereum interaction)
  • Email credentials for notifications
  • Rinkeby test ETH (for testing)

πŸ”§ Installation

git clone https://github.com/Shristirajpoot/VoteChain.git
cd VoteChain
npm install

πŸ“ Environment Setup

Create a .env file in the root directory with the following:

EMAIL=[email protected]
PASSWORD=your_email_password

πŸš€ Run Locally

npm start

Visit http://localhost:3000 in your browser.

πŸ“¬ Example JSON Structure for Build Status Update

{
  "stat": "s",
  "proj": "E-Vote 2025",
  "build": "Phase 1",
  "usu": "Election Admin",
  "desc": "Voting completed successfully"
}

πŸ› οΈ Known Issues & Notes

  • Node version other than 11.14.0 may cause issues

  • Ensure MongoDB is running locally

  • Use Rinkeby Faucet to get test ETH https://faucet.rinkeby.io

🀝 Contributing

We welcome contributions! To contribute:

  1. Fork the repository

  2. Create your branch: git checkout -b feature/awesome-feature

  3. Commit your changes: git commit -m "Add awesome feature"

  4. Push to the branch: git push origin feature/awesome-feature

  5. Submit a pull request


πŸ‘©β€πŸ’» Author

Shristi Rajpoot


πŸ“œ License

Distributed under the MIT License β€” see LICENSE.


⭐ Like what you see? Star the repo, fork it, or open an issue β€” contributions welcome!

About

A decentralized blockchain-based e-voting platform ensuring transparent, secure, and auditable elections using Ethereum, IPFS, and the MERN stack.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages