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

Mini Project

Documentation
On
Online Voting System

Submitted By:-
Palak Srivastava
II Year - Computer Science and Engineering
AKTU Roll No. - 1811010035

Under the Guidance of :-


B.D.Mazumdar (H.O.D.)
Computer Science and Engineering
CONTENTS

Abstract

Introduction

 Scope
 Working

Requirement Specification

 Hardware Requirements
 Software Requirements
 Technologies to be used
 Functional Requirements
 Non-Functional Requirements
 Software interface

Overview

 Languages used

Overall Description

 Goals of proposed system


 Background
 User Characteristics
 Constraints

Design and Description

 Software Requirement Specification


Objective

Scope
 Module Design
User Module
Administrator module
 Voting structure
Communication Interface

 DFD Diagrams
DFD: Level-0

DFD: Level-1

DFD: Level-2

 Data Base Tables

Advantages

Dis-advantages

Future enhancements

Conclusion

Bibliography
ABSTRACT

The problem with current electronic voting systems is that they all suffer from a
critical design flaw; they are all designed to be centralized, which means a single
organization has control over everything. This includes control over the code base,
database, algorithms for counting votes and any outputs the system may produce.
This means that, with a current electronic voting system, after a voter votes on a
ballot, the voter must put their trust in the organization to record and count their
vote as the voter intended. Not being able to provide an independent output that can
be publicly verified by everyone casts doubt into the mind of the voter. How can the
voter trust such a centralized system? A lack of trust can potentially limit voter
participation.

In order to create this electronic voting system, certain standard requirements have
to be met:

 Security
A “secure” voting machine means one that cannot be tampered with or
manipulated in any way.

 Functionality
Correctly registering and recording all votes cast.

 Privacy
Voters have a right to a secret ballot and to cast their vote in private.

 Usability
A voting machine should be as intuitive to use as possible and contain clear
instructions regarding how to vote.

 Accessibility
All people, including those with visual, physical or cognitive disabilities, must
have the opportunity to independently cast their votes.

Considering the traditional voting environment voting process, it is quite


inconvenient because of reluctance of voters to visit booth. Huge evolution in
computer technology has invoked us to develop an online voting system which is
much more easy, convenient and efficient. In this project, a new approach of voting
breaks the limitation of traditional voting and focuses on the security and feasibility
of the voting, so that it may reach to all the voters from every class, which will be a
major step towards making India a developed country from developing country.
INTRODUCTION

Voting is the main democratic right of every individual in India i.e. a voting must be
usable by the entire voting but in traditional system urban population is not able to
vote because of their busy schedule. Countries all over the world want an alternative
for the traditional voting system. Electronic voting machines are more vulnerable to
fraud activities like impression of voter and booth capturing. The reason why e-
voting technology has not matured to higher level is because of lack of trust and fear
of online threats and hacking. There should be certain confidentiality and
authentication of votes casted by voters in the booths. The basic idea behind this
system is to overcome the limitations of the traditional voting system as there is
complexity and huge time period required. The aim is to implement a system which
will encourage more voters to cast their votes remotely and hence increase in voting.

“ONLINE VOTING SYSTEM” is an online voting technique. It is based on the other


online services like “ONLINE RESERVATION SYSTEM” .In this system people who
have citizenship of INDIA and whose age is above 18 years of any sex can give
his\her vote online without going to any polling booth. There is a DATABASE which
is maintained by the ELECTION COMMISION OF INDIA in which all the names of
voter with complete information is stored.

SCOPE:-
The scope of the project that is hosted on the server. There is a DATABASE which is
maintained by the ELECTION COMMISION OF INDIA in which all the names of voter
with complete information is stored.

 This system will increase the voting percentage in India.


 If high security is applied then it may reduce false vote.

WORKING:-
In “ONLINE VOTING SYSTEM” a voter can use his\her voting right online without
any difficulty. He\She has to fill a registration form to register himself\herself. All
the entries is checked by the DATABASE which has already all information about the
voter. If all the entries are correct then a USER ID and PASSWORD is given to the
voter, by using that ID and PASSWORD he\she can use his\her vote. If conditions
are wrong then that entry will be discarded.
REQUIREMENT SPECIFICATION

To develop application software, we use different types of software. The software


for the development has been selected based on several factors such as:
 Support
 Cost Effectiveness
 Development Speed
 Ability to create robust application least time
 Stability

HARDWARE REQUIREMENTS (Processor RAM Disk Space)


In order to implement a new system the choice of processor with maximum possible
speed is made. There should be sufficient memory to store data and software tools
for efficient processing.

System : IBM-Compatible PC
Processor : Pentium II, Pentium III, Pentium IV
Speed : 2.0 GHz
Memory : 256 MB RAM
Hard Disk Drive : 40 GB

SOFTWARE REQUIREMENTS (Operating System Database)

Platform : Win-98, Win-XP, Linux


Language used : Python
Back end : My SQL
Technologies used : JSP, JDBC
Designer tool : HTML
Server : Apache tomcat 5.5.9

Technologies to be used:-

 Database Design (My SQL)


 Form Design (HTML 4.0)
 Coding (Python)
 Testing (WAMP SERVER)
 Reporting Tool (Data Report)
FUNCTIONAL REQUIREMENTS:

 Registration of the voter is done by ELECTION COMMISION OF INDIA.

 ELECTION COMMISION OF INDIA can change the information any time if


required.

 Registration of the Voter depends upon the information filled by the user.

 Voter is given a unique ID and PASSWORD.

 Voter can give vote after login and entering the ID and PASSWORD.

 In the DATABASE information of every voter is stored.

 Database shows the information of every user.

NON-FUNCTIONAL REQUIREMENTS:

 Secure access of confidential data (user’s details). SSL can be used.

 24 X 7 availability.

 Better component design to get better performance at peak time.

 Flexible service based architecture will be highly desirable for future extension

Software interface:

 Client on Internet: Web Browser, Operating System (Windows).

 Client on intranet: Client Software, Web Browser, Operating System (Windows).

 Web Server: WAMP Server, Operating System (Windows)

 Data Base server: MYSQL, Operating System (Windows).


OVERVIEW
 Project is related to Online Voting System.

 The project maintains two levels of users:-


 Administrator Level
 Voter Level

 Main facilities available in this project are:-


 Maintaining voter’s Identification.
 Providing online voting management.
 Providing Updation of voter’s information.
 Provide voter information to ELECTION COMMISION OF INDIA.
 ELECTION COMMISION OF INDIA maintains the complete
information of voter.
 Voter can give his\her vote from any part of India.

Languages used

Python
Python is a widely used high-level programming language for general-purpose
programming. It was created by Guido van Rossum and first released in 1991.
Python is an interpreted language and has a design philosophy that emphasizes
code readability. It uses whitespace indentation to define code blocks rather than
curly brackets or keywords. Python’s syntax allows programmers to express
concepts in fewer lines of code than might be used in other languages such as C++ or
Java. Python is an excellent language for web development and comes with many
web frameworks like Django and Pyramid, including micro frameworks such as
Flask and Bottle.

Django
Django is a high-level, free and open source Python Web framework. It encourages
rapid development and clean, pragmatic design. It takes care of much of the
problems of Web development, so we can focus on writing our app without needing
to reinvent the wheel. Django provides a full-featured MVC Framework that not only
comes with batteries included, it includes the whole kitchen sink. This makes Django
a heavyweight framework. One of the most powerful parts of Django is the
automatic admin interface. It reads metadata from our models to provide a quick,
model-centric interface where trusted users can manage content on our site.

Django also comes with an object-relational mapper (ORM) library that automates
the transfer of data stored in relational databases tables into objects that are more
commonly used in application code. ORMs provide a high-level abstraction upon a
relational database that allows us to write Python code instead of SQL to CRUD data
and schemas in the database. Removing SQL statements from our application code
can also prevent SQL injections, thus providing better security for our database.
OVERALL DESCRIPTION
Goals of proposed system:-

 Planned approach towards working:- The working in the organization will be


well planned and organized. The data will be stored properly in data stores,
which will help in retrieval of information as well as its storage.

 Accuracy:- The level of accuracy in the proposed system will be higher. All
operation would be done correctly and it ensures that whatever information is
coming from the center is accurate.

 Reliability:- The reliability of the proposed system will be high due to the above
stated reasons. The reason for the increased reliability of the system is that now
there would be proper storage of information.

 No Redundancy:- In the proposed system utmost care would be that no


information is repeated anywhere, in storage or otherwise. This would assure
economic use of storage space and consistency in the data stored.

 Immediate retrieval of information:- The main objective of proposed system


is to provide for a quick and efficient retrieval of information.

 Immediate storage of information:- In manual system there are many


problems to store the largest amount of information.

 Easy to Operate:- The system should be easy to operate and should be such that
it can be developed within a short period of time and fit in the limited budget of
the user.

Background
ONLINE VOTING SYSTEM is a voting system by which any Voter can use his\her
voting rights from any where in India. ONLINE VOTING SYSTEM contains-:

 Voter’s information in database.


 Voter’s Names with ID.
 Voter’s vote in a database.
 Calculation of total number of votes.

Various operational works that are done in the system are:-

 Recording information of the Voter in Voter database.


 Checking of information filled by voter.
 Discard the false information.
 Each information is sent to ELECTION COMMISSION OF INDIA.

User Characteristics:-
Every user should be:
 Comfortable with Internet Browser.
 He must have brief knowledge of voting system.
 He must also have basic knowledge of English too.

Constraints:-
 GUI is only in English.
 Login and password is used for identification of Voter.
Design and Description

Software Requirement Specification

Objective:

The main objectives of system for Online voting system are:

 The objective of Online voting system is to help the organization in


automating the whole manual processing of the existing system.

 The main objective to develop the system is to make the accurate & efficient
decisions in different tasks at different time at different situations. The
existing system is manual so members of the unit generally face a lot of
embarrassing situations many times. Now they need to automate the whole
process so as to make it more easy and accurate.

 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)
Scope:-

 Advanced technology- It is an advanced technology used now a days. It


increases the E knowledge of the users which is very necessary for current
generation.

 Internet:- It is an online facility and hence very useful for the users. Voters can
vote from any where at any time in India.

 E-Mails:- ELECTION COMMISION OF INDIA can send the error report to a


particular user if he\she entered false information.

 E-SMS:- People they have not internet connection they can not check the emails
or not have email they can be informed by SMS on their mobile. Today many
websites provide free SMS to the mobile. ELECTION COMMISION OF INDIA can
use these to send any information.

MODULE DESIGN

The proposed system consists of two modules,

 User Module

 Administrator 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.
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
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.
Communication interface:

HTML Client

Client side Application server Database server

The above diagram shows the connectivity between the client side, application
server and database server. The client or customer can access the HTML server or
client software. These are connected to the Wamp Server (WAMP) by a TCP/IP
which is a communication protocol used to connect the teachers or parents to the
internet. This WAMP Server now directly communicates with the database made in
MYSQL. All the enquires or data will be retrieved from the database.
DFD Diagrams
DFD: Level- 0:-

User
or
Administrator

System
4.2 Data Flow Diagram

Output

DFD LEVEL-0

The above diagram is a 0-level DFD that only shows the flow of data between the
various and the system. In online voting system the Administrator is the controller
of the system and all the decisions are made by him. The Administrator can handle
the entire voter and their details, voting details etc. and view details of them and he
can update that detail also.
DFD: LEVEL-1:-

Login Voter
Process Registration
Process

Voter
information Voting Final
checking Process Report
process

DFD LEVEL-1

The above shown diagram is a 1-level Data Flow Diagram for the Online voting
system. According to this DFD various process are done after login process. The
Administrator can register voter. The ELECTION COMMISION can register the voters
and voter can use their voting rights. The voter can view the final report after giving
vote..
DFD: Level 2

Administrator Voter

Login
Login Process

Voter Information Voting Final


Registration checking process Result

voter data stored data voting data final result

ElectionCommission
administrators

The above shown diagram is a 2.1 level Data Flow Diagram for the Online voting
system. According to this DFD. The Administrator can register the voter information.
Administrator can allow or denies the voter. A voter can give vote if all the
information filled by him\her are correct.
Data Base Tables:-

Admin Table:-

S. No. Field Name Description

1. Login id Login id for Admin.(Primary key)


2. Password Password for Login
3. Name Name of the Administrator

Voter information Data Table:-

S. No. Field Name Description

1. Login id Login id for Voter(Primary key)


2. Password Password for Login
3. Name Name of the voter
4. Father’s/Husband Voter’s father or
name husband name
5. House no. House no. of voter
6. Address Address of voter
7. City City of voter
8. Mobile Mobile No of voter
9. E-Mail E-Mail of voter
Advantages:

Top 4 Reasons to Move to the Online Voting Platform

1. Efficient and Cost Effective


The system offers significant cost benefits over paper elections in a vote to
vote comparison. It saves an organization the cost of creating, printing and
postage, since everything can be handled electronically. Online elections
reduce the use of paper and the amount of work for both the organization, as
well as voters.

2. Intelligent
The Online Voting Platform offers intelligent ballots, smart checklist features,
vote tallying, tabulation and reporting. These functions are automatic and do
not need to be assigned to personnel in-house. Additionally, it allows
administrators to create rules on ballots so that voters cannot cast invalid
votes, nor do they need to be checked while counting.

3. Save Time and Resources


Online voting system drastically reduces the time required to set up and
conduct elections. There is no excess time required to create paper ballots, set
up paper ballots for printing, wait for the printing to be completed, or wait for
ballots to be filled out and returned.

4. Easy and convenient


The Online Voting Platform offers the easiest and most convenient method for
administrators and voters alike. For administrators, the process of setting up
a ballot and conducting an election is simple and manageable.
The other advantages that the system offers are:

 The online voting system provides a less time consuming .

 It reduces the paper work and makes the work less tedious for ELESTION
COMMISION.

 It is a better way for voting.

 By this voting percentage will increase drastically.

 Voter has no need to go to any polling booth ,so it is easy to use.

 Efficient data storage.

 Accuracy, real-time response and user friendliness.

 Intelligent Management.

 Fast and Easy service.

Definitions of problems:-
• Not User Friendly: The existing system is not user friendly because the retrieval of data
is very slow and data is not maintained efficiently.

• Difficulty in report generating: We require more calculations to generate the final


result so it is generated at the end of the session. And the voter not get a single chance to
change his\her vote.

• Time consuming: Every work is done manually so we cannot generate report in the
middle of the session or as per the requirement because it is very time consuming.
FUTURE ENHANCEMENTS

The Online Voting System(OVS) platform can be made more secure by using the
following methods
 Password Changing
 Fingerprinting
 Cornea Detection
The password used by the user to vote is provided by the administrator. In the
future the user can be given the privilege of changing the password. So it helps to
increase the security of the system. The other two methods that can be used are
cornea detection and fingerprinting. But here the problem is that it decreases the
scope of the platform because these systems need some electronic components to
implement. So it will avoid the users privilege to cast the votes at their fingertips.
But it can guarantee that fake voting will be impossible.

The OVS system can be used for different elections.


In this project we had done election for a single loksabha constituency. But this
same system can be used in future for conducting different elections like local body,
legislative assembly, loksabha elections for many constituencies and wards. For eg:
In Kerala there are more than 10000 panchayat wards. The whole election can be
conducted using this single platform. The only requirement is that we need to create
the whole voters database.

Results update through SMS.


In future we can add an SMS query also. ie we wil get the result updates at the time
of counting. To receive the SMS we need to register with our mobile number in the
site.
CONCLUSION

This Online Voting system will manage the Voter’s information by which voter can
login and use his voting rights. The system will incorporate all features of Voting
system. Its provide the tools for maintaining voter’s vote to every party and it
count total no. of votes of every party. There is a DATABASE which is maintained by
the ELECTION COMMISION OF INDIA in which all the names of voter with complete
information is stored.
In this user who is above 18 year’s register his/her information on the database and
when he/she want to vote he/she has to login by his id and password and can vote
to any party only single time. Voting detail store in database and the result is
displayed by calculation. By online voting system percentage of voting is increases.
It decreases the cost and time of voting process. It is very easy to use and It is vary
less time consuming. It is very easy to debug.
BIBLIOGRAPHY
I have studying about Python and Django. I have also used Apache Server and
WAMP server, MySQL to store the data in database.
In the making of this project I got a lot of help from websites
The sources are:-
 www.w3schools.com

 www.mysql.com

 www.eci.nic.in

I have also used some software:-


 WAMP Server

You might also like