0% found this document useful (0 votes)
22 views34 pages

Online Voting System

The Online Voting System is a web-based platform designed for secure and user-friendly voting, allowing users to register and cast their votes online. It includes features such as a multi-user environment, automated processes, and a robust database to manage voter information and election data. The system aims to address security challenges in online voting, ensuring public trust while facilitating the electoral process remotely.

Uploaded by

vedantwadu111
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views34 pages

Online Voting System

The Online Voting System is a web-based platform designed for secure and user-friendly voting, allowing users to register and cast their votes online. It includes features such as a multi-user environment, automated processes, and a robust database to manage voter information and election data. The system aims to address security challenges in online voting, ensuring public trust while facilitating the electoral process remotely.

Uploaded by

vedantwadu111
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

Online Voting System

Problem Statement: Online Voting System provides the online registration form
for the users before voting and makes the users to cast their vote online. The system is
to be developed with high security and user friendly.

Abstract :
On-line Voting System is a web-based system that facilitates the running of elections and
surveys online. Users are individuals who interact with the system. All user interaction is
performed remotely through the user's web browser. Users are provided with a online
registration form before voting. User should fill online form and submit details these details
are compared with details in database and if they match then user is provided with username
and password using this information user can login and vote. If conditions are not correct
entry will be cancelled. It contains two level of user’s administrator level and voter level
where each level has different functionality.

Problem Details :
In the recent years there are many literature on online voting has been developed.
While online voting has been an active area of research in the recent years, efforts to develop
real-world solutions have just begun posing several new challenges. The use of insecure
Internet, well documented cases of incorrect implementations and the resulting security
Breaches have been reported recently. These challenges and concerns have to be resolved in
order to create public trust in online voting.
The main objective of this study is an important step towards streamlining this effort is
to develop a framework and identify necessary properties that a secure and trusted online
voting system must satisfy to reduce discovery redundancy. Such a framework will allow us
to evaluate as well as compare the merits of existing and future candidate online voting
schemes. System should support multi-user environment. System should be fully automated.
System should provide concrete security features like creating users and assigning privileges
to users of the system. System should be capable to keep track of all the detailed descriptions
of the client and the whole details of services offered by the client organization. Various
outputs (reports) should be available online any time. System should be able to handle
extremely large volumes of data (i.e. large database support).
This software is being developed for use by everyone with a simple and self
explanatory GUI. This is software that can be used by people to vote in an election. All the
user must do is login and click on his favourable candidates to register his vote. The
development and testing is done on Ethernet. While online voting system has been an active
area of research in recent years, the use of insecure Internet, well documented cases of
incorrect implementations reported recently. These challenges are to be resolved so that
public should cast their vote in secure and convenient way. Proposed online voting system is a
voting system by which any Voter can use his/her voting rights from anywhere in country.
Online voting system contains:
a) Voter’s information in database.
b) Voter’s Names with ID and password.
c) Voter’s vote in a database.
d) Calculation of total number of votes.
Various operational works proposed in the system are: Recording information of the
Voter in database. Checking of information filled by voter. Discard the false information.
Each information is sent to election commission.
Analysis & Reporting :
Online voting is software system through which a voter can give votes through
registering themselves on the voting website. all the information in sites which has been
entered are stored in database for each page in the website have its own database table. It
deals with design, build and test a online voting system that facilitates user (the person who is
eligible for voting), candidate (Candidate are the users who are going to stand in elections for
their respective party), Election Commission Officer (Election Commission Officer who will
verify whether registered user and candidates are authentic or not) to participate in online
voting. This online voting system is highly secured, and it’s design is very simple, ease of use
and also reliable.
The scope of the project is that it will use the ID and password created by user to
register him/her in the voting site, through this all the details of voter are saved in database.
Data Import/Export :
The internal memory requirement will be constant or linearly dependent on the number of
users depending on the provision of changing the vote at a later time. The external data about
the candidates (with photographs) and the posts or the poll questions and the answers will be
given as input only at the server end.
Problem/System Analysis for Online Voting System:

System’s software Requirements:


Operating System:

An Operating System (OS) is an interface between a computer user and


computer hardware. An operating system is a software which performs all the
basic tasks like file management, memory management, process management,
handling input and output, and controlling peripheral devices such as disk
drives and printers. For this project we are using Windows Operating System.

Windows Operating System:

Windows is a graphical operating system developed by Microsoft. It allows users


to view and store files, run the software, play games, watch videos, and provides a
way to connect to the internet. It was released for both home computing and
professional works.
· Editions of Windows-
Microsoft has produced several editions of Windows, starting with
Windows XP. These versions have the same core operating system, but
some versions included advance features with an additional cost.
There are two most common editions of Windows:
o Windows Home
o Windows Professional

This project is developed using Windows 10 for all versions of windows


from windows 2000, especially from windows 8.

Database:
A database is an organized collection of data, so that it can be easily
accessed and managed. You can organize data into tables, rows, columns, and
index it to make it easier to find relevant information. Database handlers create
a database in such a way that only one set of software program provides access
of data to all the users.
The main purpose of the database is to operate a large amount of information
by storing, retrieving, and managing data. There are many dynamic websites
on the World Wide Web nowadays which are handled through databases. For
example, a model that checks the availability of rooms in a hotel. It is an
example of a dynamic website that uses a database. There are many databases
available like MySQL, Sybase, Oracle, MongoDB, Informix, PostgreSQL,
SQL Server, etc. Modern databases are managed by the database management
system (DBMS).SQL or Structured Query Language is used to operate on the
data stored in a database. SQL depends on relational algebra and tuple
relational calculus. For this project, we have used MySQL database.

MySQL Database:

MySQL is currently the most popular database management system


software used for managing the relational database. It is open-source database
software, which is supported by Oracle Company. It is fast, scalable, and easy
to use database management system in comparison with Microsoft SQL Server
and Oracle Database. It is commonly used in conjunction with PHP scripts for
creating powerful and dynamic server-side or web-based enterprise
applications.

It is developed, marketed, and supported by MySQL AB, a Swedish


company, and written in C programming language and C++ programming
language. MySQL supports many Operating Systems like Windows, Linux,
MacOS, etc. with C, C++, Python and Java languages.

MySQL follows the working of Client-Server Architecture. This model


is designed for the end-users called clients to access the resources from a
central computer known as a server using network services. Here, the clients
make requests through a graphical user interface (GUI), and the server will
give the desired output as soon as the instructions are matched. The process of
MySQL environment is the same as the client-server model.

Editor-

Editors or text editors are software programs that enable the user to create and
edit text files. In the field of programming, the term editor usually refers to source
code editors that include many special features for writing and editing code.
Notepad, Wordpad are some of the common editors used on Windows OS and vi,
emacs, Jed, pico are the editors on UNIX OS. Features normally associated with
text editors are — moving the cursor, deleting, replacing, pasting, finding, finding
and replacing, saving etc.
For this Project we have used Sublime VS Code.

VSCode-
Visual Studio Code, also commonly referred to as VS Code, is a source-code
editor made by Microsoft with the Electron Framework, for Windows, Linux and
macOS. Features include support for debugging, syntax highlighting, intelligent code
completion, snippets, code refactoring, and embedded Git. Users can change the
theme, keyboard shortcuts, preferences, and install extensions that add additional
functionality.

In the Stack Overflow 2021 Developer Survey, Visual Studio Code was ranked
the most popular developer environment tool among 82,000 respondents, with 70%
reporting that they use it. Visual Studio Code is a source-code editor that can be used
with a variety of programming languages, including C#, Java, JavaScript, Go, Node.js,
Python, C++, C, Rust and Fortran. It is based on the Electron framework, which is
used to develop Node.js web applications that run on the Blink layout engine. Visual
Studio Code employs the same editor component (codenamed "Monaco") used in
Azure DevOps (formerly called Visual Studio Online and Visual Studio Team
Services).

Out of the box, Visual Studio Code includes basic support for most common
programming languages. This basic support includes syntax highlighting, bracket
matching, code folding, and configurable snippets. Visual Studio Code also ships with
IntelliSense for JavaScript, TypeScript, JSON, CSS, and HTML, as well as debugging
support for Node.js. Support for additional languages can be provided by freely
available extensions on the VS Code Marketplace.

Web Technology Stack (preferred):


For this project, we are using PHP stack for implementation.

PHP-
When we talk about a stack, we're talking about the operating system, web server,
PHP, and anything PHP consumes or interacts with, including databases, queues,
caches, APIs, and more. Stacks differ based on whether you're in development,
continuous integration (CI), or production, with each posing its own needs and
challenges.

What is PHP?

● PHP is an acronym for "PHP: Hypertext Preprocessor"


● PHP is a widely-used, open source scripting language
● PHP scripts are executed on the server
● PHP is free to download and use
What is a PHP File?

● PHP files can contain text, HTML, CSS, JavaScript, and PHP code
● PHP code is executed on the server, and the result is returned to the browser as
plain HTML
● PHP files have extension ".php"

What Can PHP Do?

● PHP can generate dynamic page content


● PHP can create, open, read, write, delete, and close files on the server
● PHP can collect form data
● PHP can send and receive cookies
● PHP can add, delete, modify data in your database
● PHP can be used to control user-access
● PHP can encrypt data

With PHP you are not limited to output HTML. You can output images, PDF files, and
even Flash movies. You can also output any text, such as XHTML and XML.

HTML, CSS, JavaScript-

HTML provides the basic structure of sites, which is enhanced and modified by other

technologies like CSS and JavaScript.

CSS is used to control presentation, formatting, and layout.

JavaScript is used to control the behaviour of different elements.

HTML-

HTML is at the core of every web page, regardless the complexity of a site or number
of technologies involved. It's an essential skill for any web professional. It's the starting
point for anyone learning how to create content for the web. And, luckily for us, it's
surprisingly easy to learn.

CSS-
CSS stands for Cascading Style Sheets. This programming language dictates how the

HTML elements of a website should actually appear on the frontend of the page.

JavaScript-

JavaScript is a more complicated language than HTML or CSS, and it wasn't released

in beta form until 1995. Nowadays, JavaScript is supported by all modern web browsers

and is used on almost every site on the web for more powerful and complex functionality.

System’s Deployment Requirements:


GitHub link- https://github.com/kalyani1701/onlinevotingsystem

Sample login credentials-


Username- G_12
Password- password_12

User Requirements Analysis:

User’s view- Users expect our system to display candidates who have
submitted applications for favourable elections. The user should be able to see
the candidates' bios and cast their vote accordingly.

Admin’s view- The administration must be able to efficiently manage the


electoral process. Admin has the power to add voters, change voter
information, and delete voter information. Election outcome information and a
preview of the results are available to administrators.

System Work Flow:


Data Model:
Database to front end Connection string (JDBC/ODBC):

<?php
session_start();
include 'includes/conn.php';
if(isset($_POST['login'])){
$voter = $_POST['voter'];
$password = $_POST['password'];

$sql = "SELECT * FROM voters WHERE voters_id = '$voter'";


$query = $conn->query($sql);

if($query->num_rows < 1){


$_SESSION['error'] = 'Cannot find voter with the ID';
}
else{
$row = $query->fetch_assoc();
if(password_verify($password, $row['password'])){
$_SESSION['voter'] = $row['id'];
}
else{
$_SESSION['error'] = 'Incorrect password';
}
}

}
else{
$_SESSION['error'] = 'Input voter credentials first';
}
header('location: index.php');
?>

INSTALLATION MANUAL FOR ONLINE VOTING SYSTEM:


Follow following steps to access online voting system on your system-

Step 1- Go to following GitHub link-


https://github.com/kalyani1701/onlinevotingsystem

Step 2- Download project zip file or clone the project on your system.

Step 3- Extract downloaded zip file.

Step 4- Turn on Apache and MySQL on XAMPP server (install and configure
not available).

Step 5- Open browser and type following-


For User- http://localhost/votesystem/
For Admin- http://localhost/votesystem/admin/

Step 6- After opening above links, user or admin can access the online voting
system.

User Manual For Online Voting System


Problem Statement :
Online Voting System provides the online registration form for the users before voting
and makes the users to cast their vote online. The system is to be developed with high security
and user friendly.
In the recent years there are many literature on online voting has been developed.
While online voting has been an active area of research in the recent years, efforts to develop
real-world solutions have just begun posing several new challenges. The use of insecure
Internet, well documented cases of incorrect implementations and the resulting security
Breaches have been reported recently. These challenges and concerns have to be resolved in
order to create public trust in online voting.
The main objective of this study is an important step towards streamlining this effort is
to develop a framework and identify necessary properties that a secure and trusted online
voting system must satisfy to reduce discovery redundancy. Such a framework will allow us
to evaluate as well as compare the merits of existing and future candidate online voting
schemes. System should support multi-user environment. System should be fully automated.
System should provide concrete security features like creating users and assigning privileges
to users of the system. System should be capable to keep track of all the detailed descriptions
of the client and the whole details of services offered by the client organization. Various
outputs (reports) should be available online any time. System should be able to handle
extremely large volumes of data (i.e. large database support).
This software is being developed for use by everyone with a simple and self
explanatory GUI. This is software that can be used by people to vote in an election. All the
user must do is login and click on his favourable candidates to register his vote. The
development and testing is done on Ethernet. While online voting system has been an active
area of research in recent years, the use of insecure Internet, well documented cases of
incorrect implementations reported recently. These challenges are to be resolved so that
public should cast their vote in secure and convenient way. Proposed online voting system is a
voting system by which any Voter can use his/her voting rights from anywhere in country.
Online voting system contains:
a) Voter’s information in database.
b) Voter’s Names with ID and password.
c) Voter’s vote in a database.
d) Calculation of total number of votes.
Various operational works proposed in the system are: Recording information of the
Voter in database. Checking of information filled by voter. Discard the false information.
Each information is sent to election commission.

Implementation/Guidance/ Steps to follow:


Go to following link- https://github.com/kalyani1701/onlinevotingsystem
Install files and turn on xampp server.
Start webapp on localhost.

1. Admin :

Admin Login: Enter login credentials.

Admin Dashboard: After login, voting system dashboard will reflect.


List of voters: Click on Voters to view list of voters.

List of votes: Click on Votes to view list of obtained votes from voters.
Position for Election: Click on Positions to check which positions are available for
candidates in election.

List of Candidates: Click on Candidates to view list of candidates.


Ballot Preview:

Election Title:
Result graph of Election:

PDF of Election Result:


2. Voter :

Voter Login:
Selection of Candidate:
Candidate Vote Preview :
View Ballot:
Workflow:
1. Admin Panel:
Step 1: Admin login
Step 2: Admin can view admin dashboard

Step 3: Admin can add new position for election


Step 4: Admin can delete existing position for election
Step 5: Admin can reset all votes of election

Step 6: Admin can add new details of voter


Step 7: Admin can delete details of voter
Step 8: Admin can add details of new candidate
Step 9: Admin can delete details of existing candidate
Step 9: Admin can change title of election

Step 10: Admin can print result of election in PDF format


2. Voter:
Step 1: Login
Step 2: Voter can select candidate for election
Step 3: Voter can preview platform of candidate

Step 4: Voter can preview their vote before submitting vote


Step 5: Voter can view ballot

You might also like