votechain
A decentralized blockchain-based e-voting platform ensuring transparent, secure, and auditable elections using Ethereum, IPFS, and the MERN stack.
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
Repository
A decentralized blockchain-based e-voting platform ensuring transparent, secure, and auditable elections using Ethereum, IPFS, and the MERN stack.
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
🗳️ VoteChain – Blockchain-Powered E-Voting System
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:
Fork the repository
Create your branch: git checkout -b feature/awesome-feature
Commit your changes: git commit -m "Add awesome feature"
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
- Repositories: 1
- Profile: https://github.com/Shristirajpoot
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
- 1093 dependencies
- 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