The Online Voting System is a full-stack web application designed to provide a secure, transparent, and efficient digital voting experience. The platform allows eligible voters to cast their votes online while ensuring that each voter can vote only once. It also provides an administrative dashboard for managing candidates, monitoring election activities, and viewing election results.
The system aims to reduce the complexity of traditional voting processes by digitizing voter registration, authentication, vote casting, and result management while maintaining security and integrity.
π Live Demo: https://voting-app-kalyan.vercel.app/
- Secure voter registration
- Login authentication
- Aadhaar-based voter verification
- Protected routes for authorized users
- One voter, one vote policy
- View available candidates
- Cast vote securely
- Prevent duplicate voting
- Real-time vote recording
- Simple and user-friendly voting interface
- Admin authentication
- Add new candidates
- Update candidate information
- Delete candidates
- Monitor voting activities
- View election statistics
- Real-time vote counting
- Candidate-wise vote tracking
- Election result visualization
- Transparent vote management
- Mobile-friendly interface
- Desktop and tablet support
- Modern and intuitive user experience
- JWT authentication
- Password encryption using bcrypt
- Protected API endpoints
- Input validation
- Role-based access control
- React.js
- React Router DOM
- Axios
- HTML5
- CSS3
- JavaScript (ES6+)
- Node.js
- Express.js
- MongoDB Atlas
- Mongoose ODM
- JSON Web Token (JWT)
- bcrypt.js
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
Traditional voting systems often involve manual processes, long queues, paperwork, and significant administrative effort. In many situations, managing voter records and counting votes can be time-consuming and prone to errors.
The Online Voting System addresses these challenges by:
- Digitizing the voting process
- Reducing manual work and paperwork
- Preventing duplicate voting
- Providing secure voter authentication
- Delivering faster vote counting
- Increasing transparency in election management
- Improving accessibility for voters
Schools, colleges, and universities conducting student elections.
Companies and institutions organizing internal elections or surveys.
Clubs, associations, and social groups conducting member voting activities.
Individuals responsible for managing candidates, voters, and election results.
The frontend is built using React.js and follows a component-based architecture. React Router manages navigation between pages, while Axios handles communication with backend APIs.
Key responsibilities include:
- User authentication
- Candidate display
- Vote submission
- Dashboard rendering
- Real-time UI updates
The backend is developed using Node.js and Express.js, following RESTful API principles.
The server handles:
- User authentication
- Candidate management
- Vote recording
- Election result processing
- Authorization and security
- Database operations
MongoDB is used for storing application data through Mongoose schemas.
Stores:
- Name
- Aadhaar Number
- Password
- Voting Status
- User Role
Stores:
- Candidate Name
- Political Party / Group Name
- Candidate Image
- Vote Count
- User registers with valid information.
- Password is hashed using bcrypt.
- User logs in successfully.
- JWT token is generated by the server.
- Token is stored on the client side.
- Protected routes verify the token before granting access.
- Eligible users can cast a vote only once.
User Login
β
Candidate List
β
Select Candidate
β
Vote Submission
β
Vote Validation
β
Database Update
β
Vote Confirmation
React Frontend
β
Axios Requests
β
Express.js API
β
MongoDB Database
β
Server Response
β
Updated User Interface
voting-app/
β
βββ client/
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ routes/
β β βββ context/
β β βββ assets/
β
βββ server/
β βββ models/
β βββ controllers/
β βββ routes/
β βββ middleware/
β βββ config/
β
βββ package.json
βββ README.md- Biometric verification
- OTP-based voter authentication
- Election scheduling system
- Real-time result charts
- Advanced admin analytics
- Audit logs for voting activities
- Email notifications
- Multi-election support
- Full Stack MERN Application
- Secure JWT Authentication
- Aadhaar-Based Voter Verification
- One Vote Per User Mechanism
- Admin Dashboard
- Candidate Management System
- Real-Time Vote Counting
- Responsive User Interface
- RESTful API Architecture
- MongoDB Database Integration
Kalyan Chakraborty
B.Tech in Computer Science & Engineering
- π Live Project: https://voting-app-kalyan.vercel.app/
- π» GitHub: https://github.com/Kalyan9064
- π§ Email: kalyanchakraborty9064@gmail.com
The Online Voting System provides a secure, transparent, and efficient platform for conducting digital elections. By combining modern web technologies with strong authentication and vote validation mechanisms, the system ensures reliable election management while offering a smooth experience for both voters and administrators.