Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—³οΈ Online Voting System

Overview

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/


✨ Features

πŸ‘€ Voter Authentication

  • Secure voter registration
  • Login authentication
  • Aadhaar-based voter verification
  • Protected routes for authorized users
  • One voter, one vote policy

πŸ—³οΈ Voting System

  • View available candidates
  • Cast vote securely
  • Prevent duplicate voting
  • Real-time vote recording
  • Simple and user-friendly voting interface

πŸ‘¨β€πŸ’Ό Admin Dashboard

  • Admin authentication
  • Add new candidates
  • Update candidate information
  • Delete candidates
  • Monitor voting activities
  • View election statistics

πŸ“Š Result Management

  • Real-time vote counting
  • Candidate-wise vote tracking
  • Election result visualization
  • Transparent vote management

πŸ“± Responsive Design

  • Mobile-friendly interface
  • Desktop and tablet support
  • Modern and intuitive user experience

πŸ”’ Security Features

  • JWT authentication
  • Password encryption using bcrypt
  • Protected API endpoints
  • Input validation
  • Role-based access control

πŸ› οΈ Tech Stack

Frontend

  • React.js
  • React Router DOM
  • Axios
  • HTML5
  • CSS3
  • JavaScript (ES6+)

Backend

  • Node.js
  • Express.js

Database

  • MongoDB Atlas
  • Mongoose ODM

Authentication & Security

  • JSON Web Token (JWT)
  • bcrypt.js

Deployment

  • Frontend: Vercel
  • Backend: Render
  • Database: MongoDB Atlas

🚨 Problem It Solves

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

🎯 Target Users

πŸ§‘β€πŸŽ“ Educational Institutions

Schools, colleges, and universities conducting student elections.

🏒 Organizations

Companies and institutions organizing internal elections or surveys.

πŸ‘₯ Communities

Clubs, associations, and social groups conducting member voting activities.

πŸ‘¨β€πŸ’Ό Election Administrators

Individuals responsible for managing candidates, voters, and election results.


βš™οΈ Technical Approach

Frontend Architecture

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

Backend Architecture

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

Database Design

MongoDB is used for storing application data through Mongoose schemas.

Users Collection

Stores:

  • Name
  • Aadhaar Number
  • Email
  • Password
  • Voting Status
  • User Role

Candidates Collection

Stores:

  • Candidate Name
  • Political Party / Group Name
  • Candidate Image
  • Vote Count

Authentication Flow

  1. User registers with valid information.
  2. Password is hashed using bcrypt.
  3. User logs in successfully.
  4. JWT token is generated by the server.
  5. Token is stored on the client side.
  6. Protected routes verify the token before granting access.
  7. Eligible users can cast a vote only once.

Voting Flow

User Login
     ↓
Candidate List
     ↓
Select Candidate
     ↓
Vote Submission
     ↓
Vote Validation
     ↓
Database Update
     ↓
Vote Confirmation

System Data Flow

React Frontend
       ↓
Axios Requests
       ↓
Express.js API
       ↓
MongoDB Database
       ↓
Server Response
       ↓
Updated User Interface

πŸ“‚ Project Structure

voting-app/
β”‚
β”œβ”€β”€ client/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── assets/
β”‚
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ middleware/
β”‚   └── config/
β”‚
β”œβ”€β”€ package.json
└── README.md

πŸš€ Future Improvements

  • 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

🌟 Key Highlights

  • 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

πŸ‘¨β€πŸ’» Developer

Kalyan Chakraborty

B.Tech in Computer Science & Engineering


πŸ“Œ Conclusion

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.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages