Abstract
Election Voting Blockchain is an open-source Full Stack Web Development project. A secured online voting system built using mongoDB, ExpressJS, ReactJS, NodeJS (MERN), Solidity (Smart Contracts), and web3JS. In this application, the admin can start elections, add candidate, manage users and end elections. The user will able to vote and see all the results of the election held till now. Elections and voting are the basic mechanisms of a democratic system. There have been various attempts to make modern elections more flexible by using digital technologies. It is built using JavaScript. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.
1. Introduction
Elections and voting are the basic mechanisms of a democratic system. There have been various attempts to make modern elections more flexible by using digital technologies. Basic characteristics of free and fair elections are intractability, immutable, transparency and the privacy of the involved actors. This corresponds to a few of the many features of blockchain-like decentralized ownership, the immutability of chain, anonymity and distributed ledger. My problem statement is “To create a robust blockchain based election mechanism that will not only be reliable and secure but also flexible according to the current needs”. The main aim of this proposal is to present a robust blockchain-based election mechanism that not only will be reliable but also flexible according to present needs.
A secured online voting system built using mongoDB, ExpressJS, ReactJS, NodeJS (MERN), Solidity (Smart Contracts), and web3JS. In this application, the admin can start elections, add candidate, manage users and end elections. The user will able to vote and see all the results of the election held till now.
npm i at the root folder. npm i in the frontend folder. Go to backend/config/ and make a file 'config.env'
2. Objective
A secured online voting system built using mongoDB, ExpressJS, ReactJS, NodeJS (MERN), Solidity (Smart Contracts), and web3JS. In this application, the admin can start elections, add candidate, manage users and end elections. The user will able to vote and see all the results of the election held till now.
This project demonstrates how JavaScript can be applied to a real-world Full Stack Web Development problem.
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/itsSauravK/Election-Voting-Blockchain.git
cd Election-Voting-BlockchainFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add role-based access control
- Deploy on a VPS or cPanel hosting with a custom domain
- Add automated tests and a CI pipeline
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Explain the frontend, backend and database layers of this application.
- How is user authentication and authorisation implemented?
- Describe the main database tables / collections and their relationships.
- Which REST APIs or routes are exposed and what do they return?
- How would you deploy this application to production?
9. Source Code & License
This project is developed by itsSauravK 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 Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Full Stack Web Development Internship