votechain

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

https://github.com/shristirajpoot/votechain

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.5%) to scientific vocabulary

Keywords

blockchain decentralized ethereum ipfs mern nextjs secure-voting smart-contracts solidity voting-systems
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: Shristirajpoot
  • License: mit
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 72.9 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
blockchain decentralized ethereum ipfs mern nextjs secure-voting smart-contracts solidity voting-systems
Created about 1 year ago · Last pushed 8 months ago
Metadata Files
Readme License Citation

README.md

🗳️ 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

bash 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:

```env

EMAIL=youremail@example.com PASSWORD=youremail_password ```

🚀 Run Locally

bash npm start Visit http://localhost:3000 in your browser.

📬 Example JSON Structure for Build Status Update

json { "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

  • 📧 Email: shristirajpoot369@gmail.com
  • 🔗 GitHub: @Shristirajpoot

📜 License

Distributed under the MIT License — see LICENSE.


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

Owner

  • Login: Shristirajpoot
  • Kind: user

Citation (CITATION.cff)

# YAML 1.2
/*hi user */
---
authors: 
  -
    family-names: Mehta
    given-names: Ansh
  -
    family-names: Mehta
    given-names: Charmee
  -
    family-names: Gada
    given-names: Sayyam
  -
    affiliation: "Prof."
    family-names: Kadukar
    given-names: Neeta
cff-version: "1.1.0"
date-released: 2019-06-01
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/mehtaAnsh/BlockChainVoting"
title: BlockChainVoting
version: "v1.0"
...

GitHub Events

Total
  • Watch event: 2
  • Push event: 25
  • Create event: 2
Last Year
  • Watch event: 2
  • Push event: 25
  • Create event: 2

Dependencies

package-lock.json npm
  • 1093 dependencies
package.json npm
  • mocha ^6.1.4 development
  • @zeit/next-css ^1.0.1
  • bcrypt ^3.0.6
  • body-parser ^1.18.3
  • chart.js ^2.8.0
  • chartjs ^0.3.24
  • chartjs-plugin-annotation ^0.5.7
  • dotenv ^8.2.0
  • express ^4.16.4
  • fs-extra ^7.0.1
  • ganache-cli ^6.4.1
  • ipfs-api ^26.1.2
  • js-cookie ^2.2.0
  • mongoose ^5.5.1
  • next ^8.0.3
  • next-routes ^1.4.2
  • nodemailer ^6.1.0
  • path ^0.12.7
  • react ^16.8.5
  • react-chartjs-2 ^2.7.6
  • react-dom ^16.8.5
  • react-helmet ^5.2.0
  • semantic-ui-css ^2.4.1
  • semantic-ui-react ^0.86.0
  • solc ^0.4.25
  • truffle-hdwallet-provider ^1.0.5
  • web3 ^1.0.0-beta.52