Abstract
Decentralized Voting System is an open-source Blockchain & Cloud Computing project. A decentralized voting system using Ethereum blockchain for secure and transparent elections, with features like user authentication and real-time result tracking. It is built using JavaScript, Ethereum. Key capabilities include: Implements JWT for secure voter authentication and authorization; Utilizes Ethereum blockchain for tamper-proof and transparent voting records; Removes the need for intermediaries, ensuring a trustless voting process. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Blockchain & Cloud Computing mini project or final-year project.
1. Introduction
A decentralized voting system using Ethereum blockchain for secure and transparent elections, with features like user authentication and real-time result tracking.
2. Objective
A decentralized voting system using Ethereum blockchain for secure and transparent elections, with features like user authentication and real-time result tracking.
This project demonstrates how JavaScript, Ethereum can be applied to a real-world Blockchain & Cloud Computing problem.
3. Key Features / Modules
- Implements JWT for secure voter authentication and authorization.
- Utilizes Ethereum blockchain for tamper-proof and transparent voting records.
- Removes the need for intermediaries, ensuring a trustless voting process.
- Admin panel to manage candidates, set voting dates, and monitor results.
- Intuitive UI for voters to cast votes and view candidate information.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Node.js (LTS) and npm
- A modern web browser
- VS Code or any code editor
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/Krish-Depani/Decentralized-Voting-System.git
cd Decentralized-Voting-System- Open a terminal.
- Clone the repository by using the command
- Download and install Ganache.
- Create a workspace named developement, in the truffle projects section add truffle-config.js by clicking ADD PROJECT button.
- Download Metamask extension for the browser.
- Now create wallet (if you don't have one), then import accounts from ganache.
- Add network to the metamask. ( Network name - Localhost 7575, RPC URl - http://localhost:7545, Chain ID - 1337, Currency symbol - ETH)
- Open MySQL and create database named voter_db. (DON'T USE XAMPP)
Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a CI/CD pipeline with GitHub Actions
- Deploy to a public test network or cloud free tier
- Add monitoring and cost alerts
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Why does this problem need a blockchain or cloud-native design?
- Explain the smart contract / infrastructure components and how they interact.
- How are gas costs or cloud costs kept under control?
- How is the system secured (keys, IAM, access control)?
- How would the solution scale to many more users?
9. Source Code & License
This project is developed by Krish-Depani and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Blockchain & Cloud Computing project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Blockchain & Cloud Computing Internship