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

ABSTRACT

In our project "Online Voting System". We aimed to show a model website of Online Voting
System in which we shown how online voting is done in future. This overview of online voting
system focuses on the records of voters, candidate and all essential to make online voting
successful. The goal was to develop an automated solution that would help to manage the complete
Voting procedure online through which a country can save a lot of time of every citizen and large
number of person can vote.
This software application would make it easier for administrators to handle that how many voters
are there, what is the population of country or state and much more. The Candidate have different
position for fighting in election like MLA or MP etc. If a voter is looking for information related
to a particular Candidate or need assistance like about the candidate qualification then the voter
can easily access the information(only his public information like qualification, name, status etc.,
not his personal details like contact number etc.) of candidate. Additionally, we've made this
software as user-friendly as possible so that anyone can add himself /herself as a voter or candidate
easily and can update his details.
Finally, in order to ensure the securit , we provide username and password and OTP so that your
information cannot be leaked and we also ensuered the one voter can vote only once for a post.

1|Page
INTRODUCTION.

Project overview
Our project "Online voting System” aims to demonstrate how online voting works and organizes
the data.

It manages the records of the Candidates, Voters and the Admin. In this project we aim to increase
voting percentage by providing the facility of voting using your phone, laptop, pc and tablet. The
main goal is to provide is make election completely online and announce the result within few
hours or minutes after the voting is done. The software allows the admin to finalize the voting list
after checking the information present. The admin allows the candidate to fill its nomination and
have the right to delete or add voters in voters list. The admin can also reject the candidate’s
nomination. The online voting is categorized for different elections like Central Government
election, State Government election, District level election, Panchayat election. This interface is
user friendly and easy to use for the beginners and for the people less connected to technology.

For security, the system has a username and password for every voter, candidate and admin. The
software is flexible and convenient for all at an online platform.

The reasons we made choose the project are:-

1. Less voting percentage in last elections. The reason is that people don’t want to stand in
long crowded lines.

2. People being lazy to go to booth and vote.

3. One person is voting multiple times.

4. Busy day to day routine of voters / people.

2|Page
PROJECT/PROBLEM SELECTION

EXISTING SYSTEM
The voting system currently being used by the association is a paper based or Electronic voting
Machine (EVM) based, in which the votes simply picks up ballot Sheets from electoral offcials ,
tick off they would like to vote for, and then cast their voter by merely handing over the ballet
sheet back to electoral officials. The electoral officials gather all the votes being cast into the ballet
box. At the election end, the electoral officials Collect and count the votes for each candidate and
determine the winner of each election category.

PROBLEM WITH THE EXISTING SYSTEM


The existing manual voting system consumes more time for vote casting. Voters have to wait for
vote on polling booths to vote. The election officers have to check the voter, and ensure that
whether this voter can vote in this booth or not. Then check voter ID present in voter list of booth
if information match then voter will be able to vote in the booth. The voter had to stand in the
queue to cast his vote. All the work is done on paper ballot so it is very hard to locate particular
candidate casting votes for all candidates. To overcome all these problems we have to implement
a web applications which is helpful for voting from anywhere in the country.

3|Page
Objective of Project
The objective of the system is to replace the traditional system of voting with the new generation
voting system which is web based voting system. This smart system reduces the time and cost for
voting and also make the voting system is reliable, faster and cost effective. In this system the
voter Username and password are given through which they can cast their vote using internet.
Database maintained by the system usually contains the voter information and candidate
information.

Here we are proposing a website for voting process that is online Voting system through internet.
The Online Voting System will manage voter’s information and candidate’s information. The main
feature of the project includes Voters information and candidate information. Voter can login and
use his / her voting right. The system can manage the information/data very efficiently.
The proposed system is very efficient, more reliable, faster and accurate than the current system
and it is easy to handle compared to existing manual system. It helps to computerize

4|Page
The proposed system is very efficient, more reliable, faster and accurate than the current system
and it is easy to handle compared to existing manual system. It helps to computerize everything
and reducing the errors as compared to manual voting system.

The main objective of this project is mentioned in below points:-


 Fast and easy way of conducting Election.
 Voters can view background of each Candidate.
 Even Handicapped person can vote from home.
 Admin can verify the documents and details of Candidate.
 System Generated Unique ID and Password gives more Secure Logins.
 Result will be out after 2 Hrs of Election.
 It is a time saving and money saving process of voting.

5|Page
Design Goals and Constraints
Goals of an online voting system project:

Increased Voter Participation: The primary goal of an online voting system is to increase voter
participation and accessibility by allowing voters to cast their ballots from anywhere with an
internet connection.
Improved Accuracy and Efficiency: Online voting systems aim to improve the accuracy and
efficiency of the voting process by reducing the possibility of human error and reducing the time
required to count votes.
Enhanced Security: An online voting system should provide a secure platform for voting,
protecting the confidentiality and integrity of the voting process and ensuring that votes are not
tampered with
Cost Savings: Online voting systems can reduce the costs associated with traditional voting
methods, including printing and distributing paper ballots, staffing polling stations, and counting
votes.
Increased Convenience: By allowing voters to cast their ballots from anywhere with an internet
connection, online voting systems aim to increase convenience and accessibility for voters,
particularly those who may have difficulty traveling to polling stations.
Constraints of an online voting system project:
Technical Challenges: Implementing an online voting system requires a secure and reliable
technology infrastructure, which can be difficult and expensive to develop and maintain.
Security Risks: Online voting systems are vulnerable to cyber-attacks, hacking, and other forms
of interference, which can compromise the security and integrity of the voting process.
Legal and Regulatory Challenges: There may be legal and regulatory barriers to implementing an
online voting system, particularly with regards to issues such as privacy and security.
Public Acceptance: The success of an online voting system depends on widespread public
acceptance and trust in the system, which can be challenging to achieve in the face of public
skepticism and opposition.
Cost: Developing and implementing an online voting system can be expensive, particularly when
compared to traditional voting methods. Ongoing costs for maintenance and support of the
system can also be significant

6|Page
PROJECT MONITORING SYSTEM

4.1 Gantt Chart

APRIL MAY JUNE JULY AUGUST

SYSTEM
STUDY

DESIGN
DATABACE

DESIGN
FORMS

CODE FOR
APPLICATION

SYSTEM
TESTING

USER MANUAL AND DOCUMENTS

7|Page
4.2 Pert Chart

8|Page
PROJECT MONITORING SYSTEM

5.1 Feasibility Study:


As the name implies, a feasibility analysis is used to determine the viability of an idea, such as
ensuring a project is legally and technically feasible as well as economically justifiable. It tells us
whether a project is worth the investment—in some cases, a project may not be doable. There can
be many reasons for this, including requiring too many resources, which not only prevents those
resources from performing other tasks but also may cost more than an organization would earn
back by taking on a project that isn’t profitable.
A well-designed study should offer a historical background of the business or project, such as a
description of the product or service, accounting statements, details of operations and management,
marketing research and policies, financial data, legal requirements, and tax obligations. Generally,
such studies precede technical development and project implementation.

Any system performance is judged under 3 steps:

1. Statement of constraints: Encompassing all the factors that limit the solution of the
problem.

2. Identification of specific system objectives.

3. Description of outputs as required by the users. Steps of Feasibility Analysis:

 Form a project team and appoint a project leader.


 Prepare system flowcharts.
 Enumerate potential proposed system.
 Define and identify characteristics of proposed system.
 Determine and evaluate performance and cost effective of each proposed system.
 Weight system performance and cost data.

9|Page
 Select the best – proposed system.
 Prepare and report final project directive to management.

There are 5 types of feasibility consideration:


I. Economic Feasibility
II. Technical Feasibility
III. Legal Feasibility
IV. Operational Feasibility
V. Schedule Feasibility

10 | P a g e
Economical Feasibility
The economic feasibility step of business development is that period during which a breakeven
financial model of the business venture is developed based on all costs associated with taking the
product from idea to market and achieving sales sufficient to satisfy debt or investment
requirements. The first purpose of this effort is to financially model the venture opportunity and
achieve a break-even analysis. In other words, based upon the costs of goods sold, capital costs,
and management and administration, how much revenue generated from units sold is required to
break-even and over what period of time.
Once a break-even analysis is developed, the entrepreneurs can develop realistic financial
projections for best case and worst case scenarios. These scenarios will be critical in strategic
planning, milestone development and venture valuation analysis. The simple objective is to
determine what level of revenue is required to satisfy the return on investment demanded by the
founder and/or the investors. The objective of the economic feasibility is to develop a financial
model of the business venture.

Technical Feasibility
Technical feasibility evaluates the technical complexity of the expert system and often involves
determining whether the expert system can be implemented with state-of-the-art techniques and
tools. In the case of expert systems, an important aspect of technical feasibility is determining the
shell in which the system will be developed. The shell used to develop an expert system can be an
important determinant to its quality and makes it vital to the system's success. Although the
desirable characteristics of an expert system shell will depend on the task and domain
requirements, the shell must be flexible enough to build expert reasoning into the system
effectively. It must also be easily integrated with existing computer-based systems.
Furthermore, a shell providing a user-friendly interface encourages end users to use the system
more frequently. A technical feasibility study evaluates the details of how you intend to deliver a
system or solution to the customers. You have to think in terms of materials, labor, business site,
and technology that brings all of them together. The report you generate would be a tactical or
logical plan. The technical feasibility study is an excellent opportunity for long term planning. It
is also a vital troubleshooting device for management. As you know, business products and
services originate, evolve, and reach the markets. The study serves as a flow chart to understand
these workflows.

11 | P a g e
Legal Feasibility
The first task is an analysis of the applicable legal framework. This includes the identification and
analysis of pertinent laws and regulations that may affect the project. The second task is the
assessment of the legal readiness of the procuring authority. The third task is an in-depth legal
analysis of the main project issues. It is important that the project or business is following the
requirements needed to start a business or a project including business licenses, certificates,
copyrights, business insurance, tax number, health and safety measures, and many more. There are
some things to consider in legal feasibility study including ethical issues and some social issues.
These issues are the privacy, nepotism, and accountability.

Main Objectives of Legal Feasibility Analysis –


To ensure that the project is legally doable.

To facilitate risk management, indicating the risks and obstacles that need to be addressed within
the technical analyses, the financial model and/or the Value for Money analysis.
To avoid, to the extent possible, the major problems in the project’s development and
implementation, specifying the requirements that need to be considered at subsequent stages of the
PPP process.

12 | P a g e
Operational Feasibility
Operational feasibility is dependent on human resources available for the project and involves
projecting whether the system will be used if it is developed and implemented. Operational
feasibility is a measure of how well a proposed system solves the problems, and takes advantage
of the opportunities identified during scope definition and how it satisfies the requirements
identified in the requirements analysis phase of system development.
Schedule Feasibility
Schedule Feasibility helps you to understand whether the project can be completed within a proper
time frame or not. This study is done to avoid the project running out of deadline after its
completion. The time frame can be decided by the company, clients and customers. If deadline is
not carried out properly, company may lose clients and employees may lose the company. Further,
this Feasibility also helps to determine the speed of development process. If it is slow, you can
accordingly increase number of members in team. But, if you are not able to afford new employees
then you can train your current employees in a better manner to increase their speed and
performance. A feasibility study not only collects the entire requirement and estimates the cost,
but also calculate the total time for the completion of any project. Sometimes customer gives the
timeline of the completion of the project, that time you have to set all the development according
to the timelines. And then helps the schedule feasibility study. In this analysis we analyzed the
project and estimates the time for the whole project.

13 | P a g e
SYSTEM ANALYSIS
6.1 Requirement and Specification
Hardware Requirements

● Desktop PC or a Laptop
● Operating System – Windows 7 or above
● Intel® CoreTM i3-6006U CPU @ 2.00GHz
● 4.00 GB RAM ● 32/64-bit operating system, x64 based processor
● 1024 x 768 monitor resolution
● Keyboard and Mouse
Software Requirements

 Web browsers:
Mozilla Firefox, Google chrome, Opera and Internet Explorer

 XAMPP:
It is a free and open-source cross-platform web server solution stack package developed by
Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB database, and
interpreters for scripts written in the PHP and Perl programming languages.
 Composer:
It is an application-level dependency manager for the PHP programming language that provides
a standard format for managing dependencies of PHP software and required libraries. It was
developed by Nils Adermann and Jordi Boggiano, who continue to manage the project.

 Laravel:
It is a free and open-source PHP web framework, created by Taylor Otwell and intended for the
development of web applications following the Model view controller architectural pattern and
based on Symphony.

 Vue.js:

14 | P a g e
It is an open-source model–view–view model front end JavaScript Framework for building user
interfaces and single-page applications. It was created by Evan You, and is maintained by him and
the rest of the active core team members.

 Node.js:
It is an open-source, cross-platform, back-end JavaScript runtime Environment that runs on a
JavaScript Engine and executes JavaScript code outside a web browser, which was designed to
build scalable network applications.

Administrative Modules

This project includes two main modules:


1. The Admin module allows for the addition of new candidate and organizes the
election.

2. The Voter module the allows the voter to be get added in the voting list and also
allows to vote only once in a election

15 | P a g e
6.2 System Flow Chart

16 | P a g e
6.3 Data Flow Diagram (DFD)

A Data Flow Diagram (DFD) is a traditional visual representation of the information flows within
a system. A neat and clear DFD can depict the right amount of the system requirement graphically.
It can be manual, automated, or a combination of both.

It shows how data enters and leaves the system, what changes the information, and where data is
stored.

The objective of a DFD is to show the scope and boundaries of a system as a whole. It may be
used as a communication tool between a system analyst and any person who plays a part in the
order that acts as a starting point for redesigning a system. The DFD is also called as a data flow
graph or bubble chart.

17 | P a g e
● Standard symbols for DFDs

18 | P a g e
6.4 Source of Data
Information Gathering and Analysis

The requirements gathering and analysis phase is critical to the success of the online voting system
project. It sets the foundation for the rest of the project and helps to ensure that the system meets
the needs of the stakeholders and is delivered with the desired quality and security.
In a project for developing an online voting system, the requirements gathering and analysis phase
would involve the following steps:
Identifying stakeholders:
This involves identifying the different groups of people who will be impacted by the online voting
system, including voters, election administrators, and government officials.
Conducting stakeholder interviews and surveys:
This involves gathering information from stakeholders to understand their needs, requirements,
and expectations for the online voting system.
Analyzing the current system:
If an existing voting system is in place, it will be evaluated to determine its strengths and
weaknesses and to identify areas for improvement.
Defining requirements:
Based on the information gathered from stakeholders, a comprehensive set of requirements will
be defined for the online voting system. These requirements may include functional requirements
(what the system should do?), nonfunctional requirements (how well the system should perform?),
and security requirements (how secure the system should be?).

Prioritizing requirements:
The requirements defined in the previous step will be prioritized based on their importance and
urgency. This will help to ensure that the most critical requirements are addressed first.
Developing a project plan:
A project plan will be developed that outlines the tasks, resources, timeline, and budget for the
project. This plan will help to ensure that the project stays on track and that the sys
Project planning
Project planning is a critical step in the development of an online voting system. It helps to ensure
that the project is well-organized, that resources are used effectively, and that the project is
delivered on time and within budget.

19 | P a g e
Project planning for an online voting system involves several steps, including:
Defining project goals and objectives:

This clearly defines what the project hopes to achieve and what the end result should look like.
This will help to ensure that everyone involved in the project is working towards the same goal.
The main goal was to make a project based on people choice which is easily useable, accessible
and can be implemented in today’s scenario. This project is making on the basis of requirements
needed by the public which is going to use it.
Developing a project scope:
This involves defining the boundaries of the project and what is included and excluded. This helps
to ensure that the project stays focused and that resources are used effectively. The project has few
boundaries as we need high cost to implement it and it will be not easy to give it’s access as in
some rural area the internet access is not up to the mark. Also security concern is also there and
some confidential information about the voters is alaso present. Though the project is much more
efficient and easily applicable in compare to the existing one it also needs to check it’s boundaries
and use the available resources efficiently.
Creating a project schedule:
This involves creating a timeline for the project, including milestones, deadlines, and the estimated
duration of each task. This helps to ensure that the project stays on track and that it is delivered on
time. The project needed to be completed in it’s deadline. So we divided a fixed time to complete
the project in parts from coding to implementation and project selection. All needed to be
completed on time and within the resources available. It is a thing we need to take care of. As more
the time given more will be the cost will get including labour, technical resources.

20 | P a g e
Allocating resources:
This involves determining the human, financial, and technical resources that will be required for
the project, and ensuring that they are available when needed. The resources must be determined
before the start of the project . The human resources includes man power to implement coding and
making plans related to the project and doing it on time. The human resources in our case are the
members of the group. The financial resource are money power. We had decided to complete the
proposed project within out budget and bargain as much as we can in the project. The technical
resources includes systems , software and the machines that are needed to make the project.
Defining roles and responsibilities:
This involves identifying the different roles and responsibilities of the project team members, and
ensuring that everyone understands their tasks and obligations. The roles were divided on the basis
of speciality in the respective field. The responsibility needed to be taken by the individual in their
fields and the team leader should know all the information about the project from each of the
members on time . The roles and responsibility ensures that the task should be completed by the
individual or group of individual correctly.

Estimating project costs:


This involves estimating the cost of the project, including the cost of labor, materials, and
equipment. This helps to ensure that the project is completed within budget. The estimate cost of
the project was decided to be in budget and on time. The costs were divided between the labour
charge, material charge and the equipment need to complete the project as proposed.

Developing a communication plan:


This involves defining how project information will be communicated to stakeholders, including
team members, stakeholders, and project sponsors. This is the most important step as we need to
convey our message to the stakeholders, voters and people the way to vote and the new step taken
by us to make their right to vote easy and not to use the existing voting technique that are having
many drawbacks and violating their voting right by illegal booth capturing or many ways. The
project sponsors had to be explained about the project and it’s need in the future so that they invest
in the project and make the project a real success.

21 | P a g e
TECHNOLOGY USED
An online voting system is an internet based voting system that allows voters to cast their votes
through the internet, eliminating the need for physical polling stations.
It is a web application that can be used for conducting elections, surveys, or polls over the internet.
The online voting system is developed using various programming languages and frameworks,
like PHP Laravel, MySQL, Node.js, and Vue.js. To develop an online voting system using PHP
Laravel, MySQL, Node.js, and Vue.js,
The following steps can be followed:
Design the database schema for the voting system using MySQL. This schema should include
tables for the election, candidates, voters, and votes.
Use PHP Laravel to build the backend of the voting system. This should include the APIs for
creating elections, adding candidates, registering voters, and counting votes.
Use Node.js to build the real-time functionality of the voting system. This should include features
like real-time vote counting and live updates of the voting results.
Use Vue.js to build the frontend of the voting system. This should include the user interface for
registering voters, casting votes, and viewing the results.
Test the system thoroughly to ensure that it is secure, reliable, and scalable.

Overall, the online voting system using PHP Laravel, MySQL, Node.js, and Vue.js can be a
powerful and flexible solution for conducting elections, surveys, or polls over the internet. It can
be customized to meet the specific needs of different organizations, and can provide a convenient
and secure way of collecting and analyzing data.
Explanation of Technologies

● PHP Laravel:
It is a popular web application framework that provides a robust and flexible platform for
developing complex web applications. It has built-in features like routing, middleware, and
authentication, making it easy to build secure and scalable web applications. We used PHP Laravel
to build the backend of the online voting systern- this included the APIs for creating elections,
adding candidate to the elections, registering new voters is also done and vote counting and other
backend data is done on PHP using laravel. The authentication system was developed using laravel
which is a popular PHP framework for building web applications. The system will ensure that only
authorized users can access the system and that their data is protected. The database connection

22 | P a g e
was also done on PHP. The databases are made on My Sql and all the tables were connected to the
backend using PHP.
● MySQL:
It is an open-source relational database management system that provides a reliable and scalable
platform for storing and managing data. It is widely used in web applications due to its
performance and ease of use. The database stores all the necessary data system including user
information, election details and voting results. The design of the database scheme for the online
voting system using MYSQL. The scheme includes the voters information like voter id, voters
name, email, avatar, password and etc. The schema of election contains title of post, max votes
and other details about the elections. The schema of candidates includes personal details about
candidate like age, name, email, mobile no., avatar etc. Then for result calculation the scheme of
voter contains user id, candidate, position id etc. So the database related work was done on
● Node.js:
Node.js is a JavaScript-based runtime environment that allows developers to build fast and scalable
side applications. Node.js is an open source runtime environment that allows developers to build
scalable and high performance web application. It uses JavaScript on both the client and server-
side making it easy to build real time application.

23 | P a g e
SYSTEM DESIGN
Architecture design
This involves developing a high level view of the system's architecture includes the overall
structure between different components. In our voting system project there is structure to vote in
which the voter has to register him/herself and can vote using an voter id and password .The
candidates along with the party and positions are inside the system. Nomination to be filled by the
admin himself who has the access to the system. The admin can update, add, delete the information
in the system the admin has the full control over the systems due to security reasons of the systems.
The results will be displayed once the voting is done. The result is the most important thing in the
project. The online voting system is a successful project only if its architecture is correct and well
designed.

24 | P a g e
7.1 Database Design
Database ER Diagram
This involves designing the database that will store the voter data including tables, fields, and
relationships between data elements. There separate tables for voters, candidates, positions and
votes voter id password and the personal details like name, age, address etc. The candidate table
contain party name, name, Candid candidate name, email, positions, mobile number etc . The votes
table is for the result purpose it will get the result of the election. Firstly voter has to register
himself for voting with his/her personal details then he/she can vote at the time of election to the
candidates that are nominated and regist connects the database with the help of PHP connection is
done on PHP which connects, all the tables inside the database.

25 | P a g e
Database tables
Candidate Table

26 | P a g e
Post/Position Table

27 | P a g e
User Table

28 | P a g e
Vote Table

29 | P a g e
7.2 DATABACE BACK TO END CODING
<?php

use Illuminate\Support\Str;

return [

/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/

'default' => env('DB_CONNECTION', 'mysql'),

/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Here are each of the database connections setup for your application.
| Of course, examples of configuring each database platform that is
| supported by Laravel is shown below to make development simple.

30 | P a g e
|
|
| All database work in Laravel is done through the PHP PDO facilities
| so make sure you have the driver for your particular database of
| choice installed on your machine before you begin development.
|
*/

'connections' => [

'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],

'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',

31 | P a g e
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],

'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),

32 | P a g e
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],

],

/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/

'migrations' => 'migrations',

/*
|--------------------------------------------------------------------------
| Redis Databases

33 | P a g e
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/

'redis' => [

'client' => env('REDIS_CLIENT', 'phpredis'),

'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],

'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],

'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),

34 | P a g e
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],

],

];

35 | P a g e
7.3 SCREEN DESIGN

User interface design

This involves designing the user interfaces, including the screens, navigation, and overall
look and feel of the system. This should be designed with the user in mind, to ensure that it
is intuitive and easy to use. For the user interface we have designed as web Framework with
the help of unlisted software the Framework is easy to understand and use for the newly
learn people the user interface contains a homepage in which he or she can have the brief
details about the project all the website and about the project team the user can contact our
team via Email mobile number etc. It also contains details about the team members then
after clicking on way to vote the voter registration page opens and the system will ask details
to register after which the candidate details will be filled and water can vote using voters ID
and password.

This involves designing the security feature of the system including authentication authorization
and encryption this is critical to ensured and security of the voting data security is the most
important aspect of any internet base project as hacking is common in nowadays so the project
must insure that any leakage or data lost does not happen the security and shares that the project
will run for ages the better the security is the better and system is for security we have encrypted
password and the IPL does not allows to enter the enter without authentication that ensures the
system is efficient in case of data loss stoppage and against any data leakage.

36 | P a g e
This involves the designing of the system to ensure that it can handle high volume of
traffic and that it can meet that performance requirement defined in the requirement
gathering phase and analysis. The design phase is an important step in the development
of an online voting system. It sets the foundation for the implementation phase and helps
to ensure that the system is built according to the requirements and is secure,

37 | P a g e
Screen Design Coding
INDEX
<?php

use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| Check If The Application Is Under Maintenance
|--------------------------------------------------------------------------
|
| If the application is in maintenance / demo mode via the "down" command
| we will load this file so that any pre-rendered content can be shown
| instead of starting the framework, which could cause an exception.
|
*/

if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
require __DIR__.'/../storage/framework/maintenance.php';
}

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------

38 | P a g e
|
| Composer provides a convenient, automatically generated class loader for
| this application. We just need to utilize it! We'll simply require it
| into the script here so we don't need to manually load our classes.
|
*/

require __DIR__.'/../vendor/autoload.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = $kernel->handle(
$request = Request::capture()
)->send();

39 | P a g e
$kernel->terminate($request, $response);

APP
<?php

/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/

$app = new Illuminate\Foundation\Application(


$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);

/*
|--------------------------------------------------------------------------
| Bind Important Interfaces
|--------------------------------------------------------------------------
|
| Next, we need to bind some important interfaces into the container so

40 | P a g e
| we will be able to resolve them when needed. The kernels serve the
| incoming requests to this application from both the web and CLI.
|
*/

$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);

$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);

$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);

/*
|--------------------------------------------------------------------------
| Return The Application
|--------------------------------------------------------------------------
|
| This script returns the application instance. The instance is given to
| the calling script so we can separate the building of the instances
| from the actual running of the application and sending responses.

41 | P a g e
|
*/

return $app;

AUTH
<?php

return [

/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option controls the default authentication "guard" and password
| reset options for your application. You may change these defaults
| as required, but they're a perfect start for most applications.
|
*/

'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],

/*
|--------------------------------------------------------------------------

42 | P a g e
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session"
|
*/

'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
],

/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the

43 | P a g e
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/

'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],

// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],

/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|

44 | P a g e
| You may specify multiple password reset configurations if you have more
| than one user table or model in the application and you want to have
| separate password reset settings based on the specific user types.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/

'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets',
'expire' => 60,
'throttle' => 60,
],
],

/*
|--------------------------------------------------------------------------
| Password Confirmation Timeout
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
| times out and the user is prompted to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|

45 | P a g e
*/

'password_timeout' => 10800,

];

LOGGING

?php

use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;

return [

/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/

'default' => env('LOG_CHANNEL', 'stack'),

46 | P a g e
/*
|--------------------------------------------------------------------------
| Deprecations Log Channel
|--------------------------------------------------------------------------
|
| This option controls the log channel that should be used to log warnings
| regarding deprecated PHP and library features. This allows you to get
| your application ready for upcoming major versions of dependencies.
|
*/

'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),

/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog",
| "custom", "stack"
|
*/

47 | P a g e
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['single'],
'ignore_exceptions' => false,
],

'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
],

'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 14,
],

'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => env('LOG_LEVEL', 'critical'),
],

48 | P a g e
'papertrail' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => SyslogUdpHandler::class,
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
],
],

'stderr' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
],

'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
],

'errorlog' => [
'driver' => 'errorlog',

49 | P a g e
'level' => env('LOG_LEVEL', 'debug'),
],

'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],

'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
],

];

50 | P a g e
● WEB PAGE

51 | P a g e
● LOGIN

52 | P a g e
● ADMIN DASHBOARD

53 | P a g e
● POST CREAT

54 | P a g e
● CANDIDATE REGISTRATION FORM

55 | P a g e
● CANDIDATE LIST

56 | P a g e
● VOTER REGISTRATION FORM

57 | P a g e
● VOTER LIST

58 | P a g e
● VOTER DASHBOARD BEFORE VOTING

59 | P a g e
● VOTER DASHBOARD AFTER ONLINE VOTING

60 | P a g e
● RESULT

61 | P a g e
SYSTEM TESTING
8.1 Preparing of Test Data

Define Data Structures:


Determine the data structures you'll need for your e-voting project. This could include tables for
users, candidates, elections, votes, etc. Use a relational database or any appropriate data storage
mechanism for this.

Generate User Data:


Create a script to generate user data. This includes information like usernames, passwords, email
addresses, and roles (voter, admin, etc.). You can use PHP's random data generation functions or
predefined arrays to create this data.

Create Election and Candidate Data:


Generate mock election and candidate data. This could include election names, start and end
dates, and candidate names. Link candidates to elections appropriately.

Simulate Voter Activities:


Write scripts to simulate voter activities. Generate random votes or preferences for different
candidates in different elections. Make sure to handle scenarios like preventing a user from
voting multiple times in the same election.

Admin Actions:
Simulate admin actions like creating elections, adding candidates, and closing elections. Admin
accounts should have the necessary permissions to perform these actions.

Data Persistence:
Depending on your implementation, you might store this mock data in a database, a JSON file,
or any other appropriate storage method.

62 | P a g e
8.2 Testing with Dummy Data

php
Copy code
<?php
// Simulate user data
$users = [];
for ($i = 1; $i <= 100; $i++) {
$users[] = [
'id' => $i,
'username' => 'user' . $i,
'password' => password_hash('password' . $i, PASSWORD_DEFAULT),
'email' => 'user' . $i . '@example.com',
'role' => ($i == 1) ? 'admin' : 'voter',
];
}

// Simulate election and candidate data


$elections = [];
$candidates = [];

for ($i = 1; $i <= 3; $i++) {


$elections[] = [
'id' => $i,
'name' => 'Election ' . $i,
'start_date' => '2023-09-01',
'end_date' => '2023-09-15',
];

63 | P a g e
for ($j = 1; $j <= 4; $j++) {
$candidates[] = [
'id' => ($i - 1) * 4 + $j,
'name' => 'Candidate ' . ($i - 1) * 4 + $j,
'election_id' => $i,
];
}
}

// ... Code to simulate votes, admin actions, etc.

// You can store this data in a JSON file for testing purposes
file_put_contents('mock_data.json', json_encode([
'users' => $users,
'elections' => $elections,
'candidates' => $candidates,
// ... Other data
]));
?>

64 | P a g e
SYSTEM IMPLEMENTATION
Change Over:
The implementation phase of any project plays a very important role in deploying the new system
in the target environment. The supporting actions of this stage helps in preparing the system in
readiness to be turned over to the maintenance personnel. Once this phase is accomplished, the
system then enters the operations and maintenance phase which are the last phases of a system’s
development life cycle. The implementation phase of any project is the real display of the defining
moments that determine whether a system implementation is either successful or a failure. This
stage is also defined as the system modifications stage. This phase is initiated once the testing of
the system has been completed and the system accepted by the user. This phase is iterated as
different modifications are done to the system until the system satisfies all the user requirements
that were stated in the initialization stages of the system. All the planning that takes place in
preparation for the implementation phase is usually very critical. The implementation stage is
equally important. The start of the implementation stage is an indication that the system is
progressing well (Beck, 2000).
The stages of the implementation phase
i. Coding
The implementation phase starts off with the coding of the application. When coding, some of the
fields have to be customized in order to conform to the interfaces in the system. This stage involves
the conversion of human characters into a language that the system can understand. It is usually
very complicated and required the use of professionals in various fields involving the system to
come up with the appropriate codes which can be used operate the system being designed. Various
programming languages can be used to code the program of the system depending on the desired
functionalities of the system. Once the coding of the system has been completed, then we can move
to the next stage which is the testing phase.
ii. Testing
The main objective of the testing phase is to bring together all the programs that a system
comprises of in order to confirm that they operate as desired. For the purpose of this project and
in order to make the testing more successful, the testing phase can be broken into two parts. The
first phase of the testing involves testing the entire system as a whole. A report is then produced
and the bugs found in the system fixed as desired. Once this has been accomplished, a test is then
rerun on the system to determine if there are any errors still available in the system. Each
component of the system is tested separately and then the whole junk jumbled together. This is
repeated until all the bugs have been addressed in the system. The testing phase usually consumes
a lot of time but it is a very critical phase in the implementation stage as it ensures that the system
functions as per the laid requirements. Once the testing phase is done with, we can then proceed
to the installation phase.

65 | P a g e
iii. Installation
One the testing has been completed, all the testing components used in the system are removed
from the server and the system built entirely from scratch. At the end of the installation of any of
the system components, a test was run. This was to ensure that the system operated as required and
that if there was a mistake, it was rectified as soon as it occurred. This helped in ensuring that if
there was a problem it was detected early enough and corrected before the system moves to a new
phase. The installation is very important and needs to be done with utmost care in order to ensure
that the system is completed as stated in the requirements phase. Once the installation and the
testing of the system have been done successfully, total system validation then needs to be done.
This ensures that each component of the system works as desired and that only desirable outputs
are produced. The next stage is to document the activities done on the system during the
implementation stage.

iv. Documentation
This stage is very important and helps in putting down each stage and the type of action performed
on it. It also involves documentation of the testing and installation phase. If the system is well
documented, it will help in future maintenance of the system and at the same time help in the
determination of a possible cause of error. The documentation of the system also helps in providing
users with a user guide on how the system operates and how future adjustments can be obtained.
Once the system has been documented, training sessions can then be organized so as to familiarize
the users of the system with how the system operates (Münch et al, 2012). During the
documentation phase, the following documents are generated: user manuals, operations manual,
maintenance guides, system guides and control documents.
v. Training
Training should be conducted by the users who are well conversant with the system. It is necessary
that this involves the use of professional from different stages of the implementation phase. This
will help in achieving good system understanding. It is more sensible if training would become
from within especially from the staff who were involved in the implementation phase. Training is
mainly aimed at making system users to be equipped with operational and troubleshooting
information for the newly designed system. The system can then be implemented but its operation
needs to overlap with the operation of the old system. This helps the users to be able to become
more familiar with the new system and various files can be transferred to the new system. This can
be continued for some time approximately 1 month. After one month, the use of the old system
can then be completely discontinued and the new system left to run on its own. Training plan needs
to be used for the training process. The process of training the staff should be done in accordance
to the plan and every step needs to be taken into consideration. The plan should ensure that new
users are given immediate and continuous opportunity of training until they are well conversant
with the system (Münch et al, 2012).

66 | P a g e
vi. Support:
is very critical in any new system since it ensures the successful and effective utilization of the
new system. It also involves the preparation of the end user documentation and the site manual. It
is necessary that any organization enters into an agreement with the system designers before the
final hand-over is done. This will help in ensuring that the organization offers support for a given
period of time as the technicians of the company where the system was designed get familiar with
the maintenance operations of the system. Most organizations require that they enter into a
contractual agreement whereby a grace period is provided for the maintenance of the system. Once
the grace period is over, then the organization can charge a fee for the services they offer to the
company of which the system was designed for. During the grace period, different users are trained
on how to use and maintain the system.

67 | P a g e
DOCUMENTATION

10.1 Operational Document


1. Introduction
 Purpose of the Document
 Scope of the Operational Procedures
2. System Overview
 Brief description of the e-voting system
 High-level architecture and components
3. Roles and Responsibilities
 List of roles involved in the e-voting process (e.g., admin, voter, election
manager)
 Detailed description of responsibilities for each role
4. User Authentication and Access Control
 How users are authenticated and authorized to access the system
 Explanation of access levels and permissions
5. Election Setup and Management
 How administrators create and manage elections
 Steps for defining election details, candidates, and voting periods
6. Voter Registration and Authentication
 How voters are registered into the system
 Explanation of the voter authentication process
7. Voting Process
 Detailed steps for voters to cast their votes
 Explanation of how votes are recorded and counted
8. Admin Actions
 How administrators manage elections, candidates, and user accounts
 Explanation of administrative functionalities

68 | P a g e
9. Security Measures
 Overview of security mechanisms implemented in the system
 Steps taken to protect voter data and prevent tampering
10. Data Backup and Recovery
 How data is backed up and stored securely
 Steps for recovering data in case of failures
11. Support and Troubleshooting
 How users can seek assistance for technical issues
 Common troubleshooting steps and guidelines
12. System Maintenance
 Schedule for regular system maintenance
 Steps for updating and maintaining the system
13. User Training
 Resources and materials available for user training
 Steps for educating users about the system
14. Legal and Compliance Considerations
 Overview of legal and regulatory requirements for e-voting
 Explanation of how the system complies with these requirements
15. Emergency Procedures
 Steps to follow in case of system failures, security breaches, or other emergencies
 Contact information for key stakeholders during emergencies
16. Glossary
 Definitions of technical terms and acronyms used in the document
17. Appendices
 Sample screenshots of the user interface
 Examples of user communications or notifications

69 | P a g e
Challenges:
1. Security concerns: One of the primary concerns with online voting systems is the potential
for cyberattacks, fraud, or tampering with the results. Ensuring the security of the voting
system is essential to ensure the integrity of the democratic process.
2. Digital divide: Online voting systems may not be accessible to everyone, especially those
who do not have access to the internet or lack computer literacy.
3. Transparency and accountability: Ensuring transparency and accountability in online voting
systems can be challenging, as the traditional methods of paper ballots and manual
counting are more transparent.
4. Legal and regulatory challenges: Implementing online voting systems requires significant
legal and regulatory changes to ensure that the system is compliant with existing laws and
regulations.
In conclusion, online voting systems have enormous potential to improve the accessibility,
efficiency, and accuracy of the democratic process. However, it is essential to ensure that these
systems are secure, transparent, and accessible to all eligible voters.

70 | P a g e
10.2 USER MANUAL

The proposed system consists of two modules,


 Administrator Module
 User Module

USER (VOTER) MODULE


User interface consists of a login name and unique password using which he/she can login into the
Online Voting System. This will be supplied by the administrator to the user. Once the user has
logged in, he has the privilege to view the names of the candidates listed by the administrator, view
the results after the termination date of the election. The user module constitutes only one sub
module:
Authentication & Voting
Each voter is provided with unique username and password manually by the administrator. The
voter uses the username and password for login and exercise the fundamental right of voting. if
incorrect username and password entered, the access to is denied to the user. And also voter is
allowed to vote only once. This is the security feature provided against external access of the
system.
After login the voter enters the voter home page ,which provides the links :
Candidate List
This facilitates the voter to view the candidate names, the constituency name, their symbol and
their party name.
Vote
This provides the voter with a list of candidate with in his/her constituency along with selection
option (radio button) to select the preferred candidate from the list. If the voting date is before
termination date, the vote goes valid else goes invalid.
View Results
This provides graphical and user friendly representation of the votes obtained by each candidate.
It includes the percentage of the votes obtained by each candidate. But the result can be viewed
only after the termination date of the election.
Logout
This provides an option for the voter to quit the session ,while in the voter home page.

71 | P a g e
ADMINISTRATOR MODULE
Administrator interface consists of a login name and unique password using which admin can login
into the Online Voting System. Administrator has the main control of the system. By logging into
the page it can perform the following tasks.
Add Candidate
Here the admin can add the list of candidates in the election. It includes candidates name,
address.gender,party, party symbol etc. The candidates will be added to the list only after
completing the procedures.
Add Voter
Here the voters can be added to the database. The voters have also the privilege to check the voters
list from the homepage. The voters details includes name, address, gender, age, constituency,
image etc.
Add Election
Here the election to be conducted is selected. To add an election the constituency should be selected
and termination date of election should be specified.
Add Constituency
The constituency that is going to conduct election should be selected.
Voters List
Here we can view the voters list. Each constituency will be having separate voters list.
Candidate List
The list of candidates participating in the election can be seen. It includes the candidates name,
party name and party symbol.
The sub-modules of administrator are:
 Voting Structure,
 Voters Registration
 Candidate Registration
 Counting & Categorization of Results

Voting Structure

72 | P a g e
Here the eligible voters who are permitted to login to the system can utilize the right to vote. Each
voter can register a single vote to a candidate’s favour in his/her constituency. The security
measures taken within the system prevents them from exercising their votes again i.e. the second
vote by the same user goes invalid. The starting and ending dates of the election are specified by
the administrator. The user must have an identity card and he must be in voters list.
Voters Registration

The registration procedure of all the eligible voters .This registration process is done by the
administrator. According to voters database each voter is provided with a unique identification
codes which includes username and password.
The details of the voters include username, password, name, address, gender, constituency, image
etc.With the voter registration, thus producing the voter list with the given information of the
voters. The voter list can be viewed by anyone accessing the webpage. The admin can view the
voter list with in his homepage.

Candidate Registration
The registration of the candidates in each constituency is done by the administrator. The details of
the candidate includes name, address, gender ,his/her constituency, party and image. With the
candidate registration, thus producing the candidate list with the given information of the
candidates. The candidate list can be viewed by admin and the vote within their respective
homepages. According to candidates database (manual) each details of the candidates are stored
in database controlled by the admin including candidates details.

Counting & Categorization of Results


When the voter votes, the number of votes obtained by the selected candidate is incremented by
1.The result is published only after the voting process is over. It is accessible from the next day
after the termination date. Here we depict the result in the graphical representation according to
the percentage of vote obtained by the candidate. Result can be viewed by everyone who visits
into the site without any authentication problem. A link to view the result is kept in the index page
and both admin and voter can view the result in their respective homepages. When the user clicks
the “RESULT” link, before the termination date of the election,
“Result not Published yet” Message will be displayed. The result comes with their party symbol
on the top of the graph representing the percentage of vote obtained by each candidate.

73 | P a g e
CONCLUSION

The conclusion of complete project is that the implementation of an online voting system has the
potential to improve the accessibility, convenience, and efficiency of the voting process. It has the
ability to increase voter participation, reduce costs, and provide a more secure and transparent
voting experience. However, it is essential to address the potential security concerns and ensure
the integrity of the voting process before implementing such a system. The development and
implementation of robust security measures, such as encryption and authentication protocols, are
crucial to prevent cyber attacks and protect the privacy of voters. In summary, while online voting
presents both advantages and challenges, it is a promising solution to enhance the democratic
process and provide a more inclusive and accessible voting experience for all.

74 | P a g e
SCOPE OF THE PROJECT

12.1 Deficiencies

 Identifying deficiencies in an e-voting project is a critical step in ensuring the system's


effectiveness, security, and user satisfaction. Deficiencies are areas where the project falls
short of expectations or requirements. Here are some potential deficiencies you might
consider when evaluating an e-voting project:
 Security Deficiencies:
 Inadequate authentication and authorization mechanisms that could lead to unauthorized
access.
 Lack of encryption for sensitive data like voter information and ballots.
 Vulnerabilities to hacking, tampering, or manipulation of votes.
 Absence of robust security protocols for preventing denial-of-service attacks.
 Privacy Deficiencies:
 Insufficient protection of voter privacy, such as the ability to trace individual votes back to
voters.
 Failure to comply with data protection regulations, exposing voters' personal information.
 Usability and Accessibility Deficiencies:
 Complex or unintuitive user interface that makes it difficult for voters to cast their votes.
 Inadequate support for voters with disabilities, such as visual impairments or motor
impairments.
 Reliability Deficiencies:
 System crashes or downtime during critical voting periods.
 Lack of redundancy or failover mechanisms to ensure continuous availability.
 Auditability Deficiencies:
 Inability to provide an audit trail for votes and actions taken by administrators.
 Challenges in verifying the accuracy of the election results.
 Verification and Transparency Deficiencies:
 Insufficient mechanisms for voters to verify that their votes were accurately recorded.
 Lack of transparency in the counting and tabulation process.
 Legal and Regulatory Deficiencies:
 Non-compliance with election laws and regulations, leading to potential legal issues.
 Failure to address legal requirements for voter eligibility and authentication.
 Technical Deficiencies:
 Poor performance or slow response times, impacting user experience.
 Incompatibility with certain devices or browsers, limiting accessibility.
 Training and Support Deficiencies:
 Inadequate user training materials, leaving voters confused about how to use the system.

75 | P a g e
 Lack of responsive support channels for users encountering issues during voting.
 Scalability Deficiencies:
 Inability to handle a large number of voters simultaneously, causing system overload.
 Challenges in scaling the system to accommodate future growth.
 Change Management Deficiencies:
 Resistance from stakeholders (voters, administrators, etc.) due to a lack of communication
about the changes introduced by the e-voting system.
 Testing and Quality Assurance Deficiencies:
 Insufficient testing, leading to uncaught bugs or vulnerabilities.
 Lack of thorough quality assurance processes to ensure system stability.

76 | P a g e
12.2 FURTHER SCOPE

 Future Scope The future scope of online voting systems is significant and has the
potential to revolutionize the way we participate in the democratic process. Here are
some potential benefits and challenges that come with the implementation of online
voting systems:
Benefits:
 Increased voter turnout:
 Online voting systems can make it easier for people to participate in the democratic
process, especially for those who are unable to physically visit polling stations due to
various reasons such as disability or distance.
 Improved accessibility:
 Online voting systems can also provide greater accessibility to voters with disabilities or
language barriers, as the system can be customized to meet their specific needs.

 Faster and more efficient results:


 Online voting systems can deliver faster and more efficient results, eliminating the need
for manual counting and reducing the potential for human error.
 Cost-effective:
 Implementing an online voting system can potentially save money in terms of the printing,
distribution, and management of paper ballots.

77 | P a g e
Future Enhancement

1. There are several possible future enhancements that can be made to an online voting system
project. Here are some ideas:
2. Mobile App: We can develop a mobile application for the voting system to make it more
convenient for users to cast their votes using their smartphones.
3. Blockchain Technology: Explore the possibility of using blockchain technology to provide a more
secure and transparent voting system.
4. Biometric Authentication: Integrate biometric authentication, such as facial recognition or
fingerprint scanning, to enhance the security of the voting system. This will make project more
efficient and secure.
5. Accessibility: Ensure that the online voting system is accessible to all users, including those with
disabilities, by incorporating accessibility features like screen readers and voice commands. So
that visually impaired, specially abled users can use it efficiently.
6. Real-time Results: Implement real-time results so that users can see the vote count and results
as they happen. After voting they can see who is leading by what
7. More Secure Voting: Develop a more secure voting process to eliminate fraud and increase voter
confidence, such as using digital signatures or multi-factor authentication.
8. Integration with Social Media: Allow users to share their voting results on social media platforms
to encourage more participation and engagement.
9. Multi-Lingual Support: Incorporate multi-lingual support to make the voting system accessible to
users who speak different languages. This will help the one who don’t understand english.
10. Improved User Interface: Continuously improve the user interface to make the voting process as
simple and user-friendly as possible, such as through the use of gamification techniques.

78 | P a g e
REFERENCE

[1.] https://www.tutorialspoint.com/laravel/index.htm

[2.] https://www.w3schools.com/

[3.] https://vuejs.org/

[4.] https://www.javatpoint.com/mysql-tutorial

[5.] http://lucidchart.com/

[6.] https://chat.openai.com/chat

[7.] https://www.electionsonline.com/online-voting-system/

[8.]https://en.wikipedia.org/wiki/Electronic_voting

[9.] https://www.w3schools.com/

[10.]https://www.researchgate.net/publication/340234262_DESIGN_AND_IMPLEMEN

TATION_OF_AN_E-VOTING_SYSTE

79 | P a g e

You might also like