Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

CHAPTER 1

INTRODUCTION
The project of an online voting system aims to modernize and streamline the voting process
by shifting it to an online platform. Traditionally, voting processes have been carried out through
physical ballots, which are time-consuming, prone to errors, and often restrict participation due to
geographical limitations. An online voting system offers a more efficient and accessible alternative
by allowing individuals to cast their votes electronically, from the convenience of their own
devices. The primary goal of this project is to develop a secure and robust online voting platform
that ensures accuracy, privacy, and transparency. The system will be designed to handle various
types of elections, such as political, institutional, or organizational, and will accommodate different
voting methods, such as majority voting, proportional representation, or ranked-choice voting.

1.1 Motivation
Convenience: Online voting systems offer the convenience of voting from anywhere and
at any time, eliminating the need for physical presence at a polling booth. This can encourage
higher voter turnout as it reduces barriers such as long queues, travel distances, or time constraints.

Increased accessibility: Online voting systems can provide accessibility to people with
disabilities or those who may have difficulty physically accessing polling stations. It can facilitate
the participation of voters who have mobility impairments, visual impairments, hearing
impairments, or other challenges that make traditional voting methods more difficult.

Cost and resource efficiency: Implementing an online voting system can be more cost-
effective in the long run compared to traditional paper-based voting systems. It can reduce
expenses related to printing ballots, staffing polling stations, transportation of materials, and other
logistical requirements.

Efficiency and speed: Online voting systems can expedite the voting process, simplify the vote
counting process, and deliver faster results. This can enhance overall efficiency and accuracy in
the electoral process.

Dept of ISE, BNMIT 2022-23 Page 1


Online voting system

1.2 Problem Statement


This project is useful for students and institutions for conducting any kind of elections that
could be held in institutions in simple manner. “ ONLINE VOTING SYSTEM ” is an online voting
technique. In this system, authorized voters can give his/her vote online without going to any
physical polling station. A database is maintained in which all the names of voters and nominees
with complete information are stored.

We are developing an Online voting system by taking advantage of the centralized database
with a web interface. The main concept of this project is to build a website, which should be able
to allow people to cast their vote by online.Time saving, working load reduced, information
available at time and it provide security for the data

1.3 Objective

The objective of the system is a replacement of the traditional system that is in existence.
This smart system reduces the time for voting and also the system is reliable, and faster. In this
system the voter username and password will be sent through SMS. The voter cast their vote enter
the confirmation OTP sent their mobile number . Database maintained by this system usually
contains the Voters information, Candidate information, The final Result of total votes.

1.4 Summary
The project is about developing an online voting system. The system aims to enable eligible
voters to cast their votes remotely using an internet connection. It will provide a secure and user-
friendly platform for voters to participate in elections and other voting processes.

Key features of the system include user authentication, candidate information, ballot creation,
voting process management, and result tabulation. The system will ensure the privacy and integrity
of votes through encryption and secure protocols. It will also include a user-friendly interface with
clear instructions and guidance for voters.

The online voting system will have a centralized database to store voter information and ballot
data. It will provide real-time updates on the voting process, including the number of votes cast,
progress, and final results. The system will also generate reports for auditing and verification
purposes.

Dept of ISE, BNMIT 2022-23 Page 2


Online voting system
The project will require a team of developers to design and implement the system, ensuring it meets
all security and usability requirements. Extensive testing will be carried out to identify and fix any
potential vulnerabilities. Additionally, user training and support will be provided to ensure voters
can easily navigate and make use of the online voting system.

Overall, the online voting system project aims to revolutionize the voting process by providing a
convenient and secure platform for citizens to exercise their democratic rights

Dept of ISE, BNMIT 2022-23 Page 3


CHAPTER 2
SYSTEM REQUIREMENTS
2.1 Hardware requirements
Processor: Pentium

RAM: 4GB

Hard Disk: 1TB

Speed: 1.1GHz

2.2 Software Requirements


Operating System: Windows

Scripting Language: JSP

Back-End: MYSQL .

Front-End: HTML5 and CSS3

Supporting Tools: NetBeans IDE, JQUERY

Type: Web Application.

Server: TOMCAT 8.0(cross platform, Apache, MYSQL, JSP)

Java Version : J2SDSK1.5

Dept of ISE, BNMIT 2022-23 Page 4


CHAPTER 3
SYSTEM DESIGN AND DEVELOPMENT
This chapter delves into the intricate process of designing and developing the Online Voting
System. By unravelling the system's architecture, schema, and methodologies, this chapter offers
a comprehensive view of the solution's creation

3.1 E R Diagram

Fig 3.1 E R Diagram

Figure 3.2 presents the Entity-Relationship (ER) diagram, a graphical depiction of the system's
data entities and their interconnections. This visual representation offers insights into the
relationships between admin, voters, users, category. By examining the ER diagram, one can
discern how information flows through the system, highlighting the integral role each entity plays
in the overall functionality of the online voting system.

Dept of ISE, BNMIT 2022-23 Page 5


Online voting system

Fig 3.2 Schema Diagram

The schema diagram, depicted in Figure 3.2, serves as a visual representation of the system's
database structure. This diagram elucidates the logical arrangement of data, including tables,
attributes, and relationships. Each component's role and interactions are mapped, providing a clear
understanding of how data is organized, stored, and accessed within the Real Estate and Property
Management System.

Dept of ISE, BNMIT 2022-23 Page 6


Online voting system

3.3 Methodology
The methodology for an online voting system involves several key steps. Begin with a thorough
requirement analysis to define user needs and system objectives. Design a secure architecture with
robust encryption, authentication, and authorization mechanisms. Implement a reliable voter
registration process using verified identity methods. Create an intuitive ballot interface and
incorporate cryptographic techniques to ensure vote confidentiality and integrity during casting.
Develop a backend for secure vote collection, counting, and verification. Rigorously test the
system for vulnerabilities, usability, and compliance with legal regulations. Provide user-friendly
interfaces, training, and support. Conduct pilot testing before full-scale deployment. Continuously
monitor and improve the system based on user feedback and emerging technologies. Collaborate
with cybersecurity and legal experts to ensure a trustworthy and compliant online voting platform.

Dept of ISE, BNMIT 2022-23 Page 7


CHAPTER 4
IMPLEMENTATION

4.1 Modules Implemented and pseudocode


The online voting system consists of several modules that work together to enable efficient
operations, enhance user experience. Here are the key modules commonly used:

Module 1: Admin Portal


Admin management for an online voting system involves establishing comprehensive control over
the system's functionality, security, and user management. Administrators oversee user
registration, candidate management, and overall system integrity. They can:

 User Management: Admins approve voter registrations, verify identities, and manage user
roles. They ensure accurate voter lists, handle account issues, and reset passwords when
necessary.
 Candidate Management: Admins oversee candidate registration, verifying eligibility and
ensuring accurate information is presented. They manage candidate profiles, updates, and
any required documentation.
 Security: Admins implement robust security measures, including encryption,
authentication, and authorization protocols. They monitor system activity to detect and
mitigate any suspicious behavior.
 System Configuration: Admins configure voting settings, such as voting periods and rules.
They may also manage ballot options, voting categories, and user accessibility.
 Technical Maintenance: Admins handle system updates, patches, and backups to ensure
smooth operation. They address technical issues promptly and maintain server resources.

//Admin class to manage admin-related functionality

class Admin:

constructor(username, password):

this.username = username

this.password = password

// Method to authenticate admin login

method authenticate(username, password):


4

Dept of ISE, BNMIT 2022-23 Page 8


Online voting system
return this.username == username && this.password == password

// OnlineVotingSystem class to manage the voting system

class OnlineVotingSystem:

constructor():

this.admins = []

// Method to add admin to the system

method addAdmin(username, password):

newAdmin = new Admin(username, password)

this.admins.push(newAdmin)

// Method to authenticate admin login

method adminLogin(username, password):

for admin in this.admins:

if admin.authenticate(username, password):

return true

return false

// Admin login

isAdminLoggedIn = votingSystem.adminLogin("admin1", "admin123")

if isAdminLoggedIn:

print("Admin logged in successfully.")

else:

print("Invalid admin credentials.")

Module 2 : Creating voter list

This pseudo-code provides a basic structure for creating and managing a voter list with user names,
user IDs, and passwords. Keep in mind that this is a simplified example, and in a real-world

Dept of ISE, BNMIT 2022-23 Page 9


Online voting system
implementation, you would need to enhance security measures, data storage, and potentially
incorporate encryption for storing passwords.

// Voter class to represent individual voters

class Voter:

constructor(id, name, password):

this.id = id

this.name = name

this.password = password

this.hasVoted = false

// VoterList class to manage the list of voters

class VoterList:

constructor():

this.voters = [] // List of voter objects

// Method to add a voter to the list

method addVoter(id, name, password):

newVoter = new Voter(id, name, password)

this.voters.push(newVoter)

// Method to get a voter by ID

method getVoterByID(id):

for voter in this.voters:

if voter.id == id:

return voter

return null // Voter not found

// Method to authenticate a voter's login

method authenticateVoter(id, password):


4

Dept of ISE, BNMIT 2022-23 Page 10


Online voting system
voter = this.getVoterByID(id)

if voter is not null and voter.password == password:

return true

return false

// Other voter list management methods can be added here

// Example usage

voterList = new VoterList()

// Adding voters to the list

voterList.addVoter(1, "JohnDoe", "pass123")

voterList.addVoter(2, "JaneSmith", "pass456")

// Authenticating a voter's login

isAuthenticated = voterList.authenticateVoter(1, "pass123")

if isAuthenticated:

print("Voter authenticated successfully.")

else:

print("Voter authentication failed.")

// Retrieving a voter's information

voter = voterList.getVoterByID(2)

if voter is not null:

print("Voter ID:", voter.id)

print("Name:", voter.name)

else:

print("Voter not found.")

Dept of ISE, BNMIT 2022-23 Page 11


Online voting system

Module 3 : Tables Used:

Here is a list of the tables that have been used to create Online retail Application

1.Category_list : The table consists of attributes related to the different category available
information.

Id Category

2.Users : The table consists of attributes related to the user’s information.

Id name username password type

3.Votes : The table consists of attributes related to the votes information.

Id Voting_id Category_id Voting_opt_id

4.Voting _cat_setting : The table consists of attributes related to the voting category setting
information.

Id Voting_id Category_id Max_selection

5. Voting_list : The table consists of attributes related to the voters list information.

Id title description Is_default

6.Voting_opt : The table consists of attributes related to the voting information.

Id Voting_id Category_id Image_path Opt_txt

Dept of ISE, BNMIT 2022-23 Page 12


CHAPTER 5
TESTING
The chapter on "Testing" provides a comprehensive examination of the project's performance and
functionality through systematic testing and analysis. This chapter aims to present the outcomes
obtained from rigorous testing procedures and the corresponding results obtained during the
evaluation phase. The testing process involved capturing snapshots of the project at various stages,
with detailed descriptions of the test cases employed to assess its overall behavior.

Fig 5.1 User Authentication and Authorization

The Fig 5.2 portrays the login page's response mechanism when an individual attempts to log in
using non-existent credentials. In this figure, the system promptly detects the mismatch between
the entered username and password with any existing records and delivers an "Incorrect username
or password" message. This serves as an effective validation step to thwart unauthorized access
attempts and prompt users to provide accurate login information, ensuring the security of the
system.

Dept of ISE, BNMIT 2022-23 Page 13


Online voting system

Fig 5.2 Creating user name without duplicency

To create unique usernames without duplication, implement a system that generates usernames
based on a combination of user-specific data such as name, birthdate, or unique identification
numbers. Apply a hashing algorithm to convert this data into a unique string. Check the generated
username against an existing database to ensure no duplicates exist. If a collision occurs, apply a
variation to the username or append a numerical identifier. Regularly update and validate the
uniqueness of usernames as new users join. This method guarantees distinct usernames while
maintaining user privacy and system efficiency.

Fig 5.3 Choosing voting category

When selecting a voting category mode, consider the purpose of the vote, audience preferences,
and logistical feasibility. Choose between single-choice, multiple-choice, or ranked-choice options
based on the complexity of decision-making. Single-choice suits straightforward decisions,
4

Dept of ISE, BNMIT 2022-23 Page 14


Online voting system
multiple-choice allows broader preferences, while ranked-choice accommodates nuanced
rankings. Ensure the mode aligns with the voting system's technical capabilities and user
understanding. Transparently communicate the chosen mode to participants, facilitating an
informed voting process that reflects their preferences accurately.

Dept of ISE, BNMIT 2022-23 Page 15


CHAPTER 6
RESULTS
The project result showcases a culmination of efforts, presenting a tangible outcome
aligned with objectives. Detailed findings and analysis are succinctly presented, revealing insights
and impacts. Visual aids like graphs or charts enhance comprehension. Accompanying
explanations contextualize data patterns. Conclusions drawn from evidence tie back to project
goals. The result underscores successful execution and contribution to knowledge or solutions in
the respective field. Whether it's research findings, completed tasks, or generated data, the project
result encapsulates the project's essence and serves as a testament to accomplishment and progress.

Fig 6.1. Admin and user login page

Fig 6.1 depicts an admin login page for an online voting system. The interface showcases
a simple yet secure design. A standard username and password form is present, complemented by
a secondary multi-factor authentication (MFA) option for enhanced security. The URL visibly
employs HTTPS encryption. A "Forgot Password" link follows industry standards for secure
password recovery. The layout includes a subtle yet effective CAPTCHA element to deter
automated attacks. Beneath the form, a concise privacy statement assures data protection
compliance. Overall, the page offers a balanced blend of user-friendly accessibility and robust
security features for authorized administrators.

Dept of ISE, BNMIT 2022-23 Page 16


Online voting system

Fig 6.2. Admin home-page

Fig 6.2 depicts admin home page image presents an organized and feature-rich interface.
A top navigation bar provides quick access to essential sections. A dashboard showcases real-time
graphs illustrating voter engagement and demographics. A table displays recent election activities,
including dates, candidates, and results. An "Create New Election" button allows seamless setup.
A notifications panel highlights system updates. The layout ensures clarity and easy navigation,
maintaining a professional aesthetic. The page design optimizes efficiency for administrators,
facilitating effectivemanagement and oversight of the online voting system.

Fig 6.3. Admin category-list page

Dept of ISE, BNMIT 2022-23 Page 16


Online voting system
Fig 6.3 depicts the admin category list page, marked by its structured and functional
layout. A sidebar menu allows easy navigation between sections. The main area showcases a
tabular presentation of voting categories. Each category displays an icon, name, and a brief
description. Sorting and filtering options are accessible at the top, enhancing user convenience.
An unobtrusive color scheme maintains a professional feel. The page design optimizes
information organization, enabling administrators to efficiently oversee and manage different
voting categories within the online voting system.

Fig 6.4. Admin voting-list page

Fig 6.4 depicts admin voting list page image exhibits a well-organized interface for
streamlined management. The top menu provides quick navigation. The main section displays a
table with comprehensive voting details. Columns include election names, dates, and participant
counts. Icons indicate the voting status. Filter options allow refined searches. A subtle color palette
ensures clarity. Buttons for editing and analyzing data are strategically placed. The layout
prioritizes data presentation, facilitating efficient oversight and control over ongoing and past
elections within the online voting system. The design offers a harmonious blend of functionality
and user-friendly aesthetics for administrators.

Dept of ISE, BNMIT 2022-23 Page 17


Online voting system

Fig 6.5. Admin user addition page

Fig 6.5 depicts admin user addition page image showcases a user-friendly interface for
efficient management. A navigation menu offers easy access. The main content area features a
form for adding new users. Fields for username, email, and role selection are provided. A password
creation input adheres to security standards. Error validation ensures accurate data entry. The
layout combines simplicity and functionality. Subtle colors maintain a professional tone. "Add
User" and "Cancel" buttons are appropriately positioned. The design prioritizes user input accuracy
and smooth interaction, facilitating administrators in seamlessly adding new users to the online
voting system while maintaining data integrity and security.

Fig 6.6 User voting page

Dept of ISE, BNMIT 2022-23 Page 19


Online voting system

Fig 6.6 depicts user voting page image displays an intuitive interface for a seamless voting
experience. The top header provides context and navigation links. A list of candidates or options
is showcased with their respective names and brief descriptions. Each option features a clickable
"Vote" button. A clear progress indicator informs users about their voting progress. A subdued
color palette ensures focus on content. The design emphasizes simplicity and user-friendliness,
allowing voters to easily select their preferred choices. The page optimizes accessibility and
engagement, enhancing the overall voting process within the online voting system for users.

Fig 6.7. User dashboard

Fig 6.7 depicts user dashboard image offers a comprehensive overview in a user-centric
layout. A header displays essential user details and links. The main area features graphical
representations of voting history, displaying past elections and participation. A concise summary
of current elections is highlighted, showing ongoing choices. The dashboard employs an inviting
color scheme for readability. "View Details" buttons allow deeper exploration. The design
prioritizes user engagement, providing a centralized hub for users to track their voting activities
and make informed decisions within the online voting system, all while maintaining an intuitive
and visually appealing interface.

Dept of ISE, BNMIT 2022-23 Page 20


Online voting system

Fig 6.8. User polling view page

Fig 6.8 depicts user polling system image presents an accessible and interactive interface.
A clear header guides users and displays their profile information. The main content area
showcases an ongoing poll with a question and multiple answer choices. Radio buttons enable
users to select their preferred option. A "Submit Vote" button is prominently displayed. Visual
cues ensure ease of use. The design employs a balanced color scheme for readability. The page
emphasizes user engagement, offering a straightforward platform for users to participate in polls
within the online voting system, fostering inclusivity and active involvement.

Dept of ISE, BNMIT 2022-23 Page 21


Online voting system

Fig 6.9. Data Base: Mysql


Fig 6.9 depicts the MySQL database image portrays a structured digital repository. Rows and
columns organize data within a tabular format. Key identifiers, such as primary and foreign keys,
establish relationships between tables. The image suggests data integrity and efficient
management. SQL queries appear, signifying data retrieval and manipulation. An admin user
interacts with the database through a query tool. The depiction highlights the database's role in
storing and organizing data for various applications, reflecting its importance in information
storage, retrieval, and maintenance for different systems and services

Dept of ISE, BNMIT 2022-23 Page 22


CHAPTER 7

CONCLUSION AND FUTURE ENHANCEMENT


In conclusion, the implementation of an online voting system is a crucial step towards
modernizing the democratic process. It can enhance accessibility, increase voter turnout, improve
efficiency, provide greater transparency, and ensure the accuracy and security of the electoral
process.
By allowing voters to participate remotely through an online platform, the system can eliminate
many barriers that prevent individuals from voting, such as geographic distance, mobility issues,
and time constraints. This inclusivity can have a significant impact on voter turnout, especially
among marginalized communities, young people, and overseas voters. The convenience and ease
of use of online voting can encourage more people to exercise their democratic right, resulting in
a more representative and diverse electorate.
Furthermore, the efficiency of an online voting system can streamline the voting process,
minimizing delays, human errors, and logistical challenges associated with traditional voting
methods. The automation of tasks such as ballot counting and result tabulation can significantly
reduce the time and effort required to conduct elections, allowing for quicker dissemination of
results and faster resolution of any disputes or challenges.
The transparency of the online voting system can also enhance public trust in the electoral process.
By providing real-time updates and access to information, voters can have greater confidence in
the integrity and fairness of the elections. Additionally, the ability to audit and track votes
electronically can prevent tampering or manipulation, ensuring the accuracy and legitimacy of the
results.
A future enhancement for the online voting system could be the incorporation of blockchain
technology. This would provide an immutable and transparent voting process, ensuring that the
integrity of the system is maintained. Additionally, the system could be enhanced to include multi-
factor authentication, such as biometric verification, to further enhance the security and accuracy
of the voting process. Furthermore, the system could be expanded to allow for remote voting,
enabling individuals to cast their votes from anywhere in the world. These enhancements would
make the online voting system more accessible, secure, and reliable for future elections.

Dept of ISE, BNMIT 2022-23 Page 23


REFERENCES
1. JavaScript Enlightenment, Cody Lindley-First Edition, based on JavaScript 1.5, ECMA262, Edition.

2. Mc Graw Hill’s, Java: The complete reference 7thEdition, Herbert Schildit

3. Complete CSS Guide, Maxine Sherrin and John Allsopp-O'Reilly Media; September 2012

4. http://www.w3schools.com/html/defualt.asp

5. http://www.w3schools.com/css/default.asp

6. http://www.w3schools.com/js/default.as

Dept of ISE, BNMIT 2022-23 Page 24

You might also like