0% found this document useful (0 votes)
40 views87 pages

Tyit 42

The document describes an e-voting system project that aims to develop a mobile application allowing users to vote remotely in a secure and convenient manner. It discusses the background and objectives of e-voting systems, and the purpose, scope and applicability of the project, which is to reduce costs and paper work while ensuring accurate results and fairness in elections.

Uploaded by

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

Tyit 42

The document describes an e-voting system project that aims to develop a mobile application allowing users to vote remotely in a secure and convenient manner. It discusses the background and objectives of e-voting systems, and the purpose, scope and applicability of the project, which is to reduce costs and paper work while ensuring accurate results and fairness in elections.

Uploaded by

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

E-VOTING SYSTEM

A project report

Submitted in partial fulfillment of the Requirement for the award of


the degree of

BACHELOR OF SCIENCE (INFORMATION


TECHNOLOGY)
By

SUJIT UMESH POOJARI

42
Under the esteemed guidance of

Mrs. Supritha Bhandary And Mrs. Navneet Kaur Nagpal

M.L DAHANUKAR COLLEGE OF COMMERCE


(Affiliated to University of Mumbai)

Mumbai – 400 057


MAHARASHTRA

2021-2022

1
2
ABSTRACT

E-voting system is Android application used to securely conduct votes and elections. As a digital
platform, they eliminate the need to cast your votes using paper or having to gather in person. They
also protect the integrity of your vote by preventing voters from being able to vote multiple times.
Our System Make the use of Firebase as backend, for login, registration and for storage purpose
which make our system highly secured and reliable. It also uses Firebase ML kit for face detection
which allows us to vote, one person at a time. This application also verifies biometric with the help
of finger print verification.

3
ACKNOWLEDGEMENT
It gives me immense pleasure to express my gratitude to those who are associated with myproject
“E-VOTING SYSTEM” as a partial fulfilment of course BACHELOR OF SCIENCE
(INFORMATION TECHNOLOGY) affiliated by the University of Mumbai.
I am very thankful to the principal of M.L. DAHANUKAR COLLEGE, Dr. D. M. Doke for
his kind cooperation in the completion of my project. I am also grateful to our Head of Department
“Smt. Archana Talekar” and my project guides “Mrs. Supritha Bhandary” and “Mrs. Navneet Kaur
Nagpal” for being resourceful, helpful and also for their constant support, that helped me complete
this project.
Last but not the least, I would like to thank IT Department, all teaching and non- teaching

4
DECLARATION

I hereby declare that the project entitled, “E-VOTING SYSTEM” done at MUMBAI,
MAHARASHTRA has not been in any case duplicated to submit to any other university for the
award of any degree. To the best of my knowledge other than me, no one has submitted to any other
university.
The project is done in partial fulfilment of the requirement for the award of degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be submitted is final semester
project as part of our curriculum.

SUJIT UMESH POOJARI

5
INDEX

CHAPTER 1: INTRODUCTION………………………………………………………….9

1.1 BACKGROUND .......................................................................................................... 9

1.2 OBJECTIVE……………………………………………………………………………..10

1.3 PURPOSE, SCOPE & APPLICABILITY……………………………………………….10

1.3.1 PURPOSE……………………………………………………………………...10

1.3.2 SCOPE…………………………………………………………………………11

1.3.3 APPLICABILITY……………………………………………………………...11

CHAPTER 2: SURVEY OF TECHNOLOGY…………………………………………...13


2.1 FRONT END…………………………………………………………………………….13

2.2 BACKEND………………………………………………………………………….… 15

2.3 IDE FOR ANDROID ………………………………………………………………….17

2.4 SURVEY QUESTION………………………………………………………………….18

2.4.1 SURVEY RESPONSES………………………………………………………21

2.5 STATISTICAL DIAGRAM…………………………………………………………….36

CHAPTER 3: REQUIREMENTS AND ANALYSIS…………………………………... 40

3.1 ER DIAGRAM………………………………………………………………………….40

3.2 USE CASE ……………………………………………………………………………...41

3.3 FLOW CHART………………………………………………………………………….42

3.4 DATA FLOW DIAGRAM……………………………………………………………...43

3.5 GANT CHART………………………………………………………………………….45


6
CHAPTER 4: SYSTEM DESIGN………………………………………………………..46

4.1 PSEUDOCODE………………………………………………………………………...46

4.2 DESIGINING.............................................................................................................. 49

CHAPTER 5: IMPLEMENTATION AND TESTING………………………………...54

5.1 IMPLEMENTATION APPROACH ........................................................................... 54

5.2 CODING DETAILS AND CODE EFFICIENCY ....................................................... 56

5.3 TESTING APPROACHES……………………………………………………………..70

5.4 TEST CASES…………………………………………………………………………...72

CHAPTER 6: RESULTS AND DISCUSSIONS………………………………………...74

6.1 TEST REPORTS………………………………………………………………………..74

6.2 SCREENSHOTS………………………………………………………………………..76

CHAPTER 7: CONCLUSIONS…………………………………………………………84

7.1 CONCLUSION………………………………………………………………………...84

7.2 LIMITATIONS OF THE SYSTEM……………………………………………………84

7.3 FUTURE SCOPE………………………………………………………………………84

SUMMARY………………………………………………………………………………..85

GLOSSARY………….……………………………………………………………………86

REFERENCE……………………………………………………………………………..87

7
List of Figure

Fig No Name Page No


3.1 ER DIAGRAM 39
3.2 USE CASE 40
3.3 FLOW CHART 41
3.4 DATA FLOW DIAGRAM 42
3.4 DATA FLOW DIAGRAM 43
3.5 GANT CHART 44

8
CHAPTER 1
INTRODUCTION
 The Appearance of the cell phone with programable platform, it is possible to vote
digitally.
 E-Voting is an Android Application which allow the user to vote remotely without going
anywhere.
 This Application is user friendly and easy to use for online voting securely and
conveniently.
 Voting is a process to show formally a choice or opinion made by individuals.
 In government sector this process is always used as a means of selecting or electing a
leader.
 Election is a formal process of selecting/electing a person for public office/organization
of accepting or rejecting a political proposition by voting.
 The Voting process by cell phone gives some decision power to the students, which can
acuate directly on decisions of their concerns.
 This application also helps the students to vote for their desired candidate and choose
their representatives in a very easy and efficient manner.

1.1 BACKGROUND

 Electronic voting system for electorates have been in use since 1960s.
 Election is the formal process of selecting a person for public office or of accepting or
rejecting a political proposition by voting.
 In every democratic country, there are people with different and inconsistent opinions,
decisions must be made between several options such as business environment,
educational society, social organization and mostly in government organization.
 One way of making such a decision is through voting.

9
1.2OBJECTIVES
 The objectives of the project is to design a mobile application that will allow a person to
vote.
 This application allows user to create an account with their number, which will be used
for login purpose and also an account will be create only after authentication by sending
an OTP on that number.
 This application also ensures that only those people are allowed to vote who are eligible
for voting.
 This task accomplished by allow user to enter their ID, which will check their Date of
Birth that are stored in firebase database.
 The project aims to reduces the paper work and saving time to generate accurate results
from E-Voting System (EVS).
 Depending on the particular implementation, e-voting may use standalone electronic
voting machine (also called EMV) or computers connected to the Internet.
 Each and every vote casted are stored in the database for the respective argument.

1.3 PURPOSE, SCOPE AND APPLICABILITY

1.3.1 PURPOSES

 Provision of improved voting service to the voters through fast, timely and convenient
voting.
 Reduction of the costs incurred by the Electoral Authority during voting time in paying
the very many clerks to ensure that the members who are registered are the only ones to
vote.
 E-Voting system will require being very precise or cost cutting to produce an effective
election management system.
 Increased number of voters as individual will find it easier and more convenient to vote,
especially those abroad.

10
 This voting system can be used for casting votes during the elections held in colleges, etc.

1.3.2 SCOPE

It is focused on studying the existing system for voting and to make sure that the people votes are
count, for fairness in the elective position.

This will also produce:

 Less efforts and less labor intensive, as the primary cost and focus primary on creating,
managing, and running a secure web voting portal.
 Increasing number of voters as individuals will find it easier and more convenient to vote
especially those abroad.
 No one can cast vote on behalf of others and multiple times.
 The system can be used anytime and from anywhere by the voters.
 It can be extended to more security using various level of authentication and verification.
 More security and privacy issues can be maintained by using various aspects.
 There exist various methods to secure the voting process.
 There will a database so we can find out the aspirants for the desired post.
 The modules of the app will include:
 Registration
 Fingerprint Verification
 ID Verification
 Face Detection
 Update Password
 Logout Features

1.3.3 APPLICABILITY

 A new E-voting system should not only help the election administration, it should be a
service to citizen also.
 It should make it easier for voters to cast their votes. At the very least not to create more
difficulties compared to procedures.
 More accurate result as human error is excluded. Cost saving by using internet voting.

11
 Electronic voting technology intends to speed the counting of ballots.
 It also reduces the cost of paying staff of count votes manually and can provide improved
accessibility for disabled voters.
 Also, in the long term, expenses are expected to decrease. Results can be reported and
published faster

12
CHAPTER 2
SURVEY OF TECHNOLOGIES

2.1 FRONTEND

 A front end is the graphical user interface of a computer that makes it easier to use.
 In programming and development, front-end is a term that describes someone who
designs and develops the UI (user interface).
 Front End is everything that user sees on a mobile app including the design of app.
 The front-end is what a user sees and interacts with it.
 Frontend is also refereed as the "client-side" of the application.

2.1.1 HTML

 HTML stands for Hyper Text Markup Language.


 IT is the standard markup language for creating Web pages.
 It helps the elements tell the browser the way to display the content.
 It is a platform independent language that can be used on any platform such as Windows,
Linux and so on.
 HTML also provides tags to make the document look attractive using graphics, font size
and colors.
 A browser understands and interpret the HTML tags, identifies the structure of the
document.

2.1.2 XML

 Extensible Markup Language (XML) is a markup language that defines a set of rules for
encoding documents in a format that is both human readable and machine-readable.
 The design goals of XML focus on simplicity, generality, and usability across the
Internet.
 It is a textual data format with strong support via Unicode for different human languages.

13
 Although the design of XML focuses on documents, the language is widely used for the
representation of arbitrary data structures such as those used in web services.
 XML stands for extensible Markup Language.
 XML is a markup language like HTML.
 XML is designed to store and transport data.
 XML is designed to be self-descriptive.

2.1.3 CSS

 CSS stands for Cascading Style Sheet.


 It is a style sheet language which is used to describe the look and formatting of a
document written in markup language.
 CSS provides more detailed attributes than plain HTML to define the look and feel of the
website.
 CSS is called a “living standard” because the language definitions are in constant
development.

2.1.4 JAVASCRIPT

 JavaScript is a high-level, dynamic, untyped interpreted programming language that is


well-suited to object-oriented and functional programming styles.
 JavaScript derives its syntax from Java, its first-class functions from Scheme, and its
prototype.
 JavaScript is one of the most commonly used programming languages in websites and
hardware.
 JavaScript allows us to implement complex features on web pages.
 It can be used as both front-end and back-end, so this way there's no need to learn another
language.

I will be using XML as Frontend.

14
2.2 BACK END

 The Backend refers to parts of a computer application or a program's code.


 The back end is also called the data access layer of software or hardware.

 Backend ofanything is not visible to general user or administrator.


 A back-end developer builds and maintains the technology that powers those components
which, together, enable the user-facing side of the website to even exist in the first place.
 It can be a piece of code or a program running on the server machine to serve the user
need.
 The back end of a website consists of a server, an application, and a database.

2.2.1 JAVA

 Java is a popular and high-level programming language, created in 1995.


 It is an Object-Oriented Programming Language and Platform Independent.
 It also provides high performance and it was designed bytecode to machine code.
 It is used for:
 Mobile applications (especially Android apps).
 Desktop applications.
 Web applications.
 Web servers and application servers.
 Games.
 Database connection and much, much more!

2.2.2 PYTHON

 Python is a computer programming language often used to build websites and software,
automate task and conduct data analysis.
 Python is a general-purpose language, meaning it can be used to create a variety of
different programs and isn’t specialized for any specific problems.
 Software's that are developed using Python can be used on various operating systems
without the need for an interpreter.

15
 The feature of python is its code readability which makes the language user-friendly and
easier to use.

2.2.3 FIREBASE

 Firebase is a mobile and web app development platform that provides developers with
excess of tools and services.
 The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store
and sync between your users in real-time.
 Firebase is a mobile application development platform that help you to build, improve,
grow and earn more profit through our app.
 Firebase allows the content storage to store the user-dedicated that includes texts, images
and videos.

2.2.4 php

 php stands for Hypertext Preprocessor, it's an open source, server side, scripting language
used for development of web application.
 php makes it easy to connect securely with almost any kind of database.
 php codes are simply mixed with HTML codes and can be used in combination with
various web frameworks.
 php handles to collect the data from users using forms, save it into the database, and
return useful information to the user.

2.2.5 FIREBASE ML KIT

 Firebase ML Kit was introduced to us at Google I/O.


 It is a mobile SDK (Software Development Kit) that enables Android and iOS app
developers to have advanced machine learning capabilities into their apps with ease.
 ML Kit works both on the device and on thecloud.
 The on-device APIs are designed to work fast with no internet connection.
 On the other hand, cloud-based APIs uses Google Cloud Platform’s machine learning
technology which gives more accurate results but requires an internet connection.

16
I will be using Java, Firebase and Firebase ML Kit as Backend.

2.3 IDE for Android:

2.3.1 ANDROID STUDIO

 Android Studio is the official Integrated Development Environment (IDE) for android
application development.
 Android Studio code has auto completion and it is an open-source version.
 It provides more features that enhance our productivity while building Android apps.
 It also uses modules to manage and organize code modules.
 Faster Coding and Quick Iteration.
 Flexible Gradle-based build system.
 It provides build-in supports for Google Cloud Platform.
 It supports C++ and NDK.

2.3.2 VISUAL STUDIO

 Microsoft Visual Studio is an IDE made by Microsoft and used for different types of
software development.
 It contains completion tools, compilers, and other features to facilitate the software
development process.
 The integrated debugger works both as a source-level debugger and a machine-level
debugger.
 Visual Studio provides the most advanced features that the latest developers are looking
for.
 It has Code editor which supports multiple functionalities.
 The Debugger can work both as a Machine Level Debugger as well as a Source Level
Debugger.
 It includes a number of visual designers to help within the development of applications.

For Developing this application, I will be using Android Studio as a platform.

17
2.4 SURVEY QUESTIONS
BLANK FORM:

18
19
20
2.4.1 SURVEY RESPONSES
1ST RESPONSE: -

21
22
23
2ND RESPONSE: -

24
25
26
3RD RESPONSE: -

27
28
29
4TH RESPONSE: -

30
31
32
5TH RESPONSE: -

33
34
35
2.3 STATISTICAL DIAGRAM

57.1 % PREFERS APPLICATION FOR VOTING WHILE REST 42.9% PREFERS APPLICATION FOR VOTING

55% OF PEOPLE TRUST IN ELECTRONIC VOTING MACHINE WHILE 33.3 PERSENT PEOPLE DO NOT TRUST
IN ELECTRONIC VOTING MACHINE & 11.4% HAS NEUTRAL ANSWER.

61% OF PEOPLE THINKS E-VOTING AS A FUTURE WHILE REST 4.7% DOES NOT THINK AS A FUTURE FOR
VOTING & 34.3% PEOPLE THINKS MAYBE IN FUTURE

36
88% OF PEOPLES PREFER E-VOTING WHILE 6.7% PREFER TRADITIONAL PAPER VOTING & REST
18.1% OF PEOPLE THINKS FOR BOTH

57.1% PEOPLE THINKS ELECTRONIC VOTING IS SAFE WHILE 3.9 OF PEOPLE THINK PAPER VOTING IS
SAFE REST ONLY 39% PEOPLE HAS NEUTRAL ANSWER

68.6% PEOPLE THINK IT IS EASY TO USE


33.3% PEOPE THINK TO ELECT THE RIGHT PERSON
51.4% PEOPLE THINK IT IS SAFE TO VOTE

37
83.8 PEOPLE THINKS TO WAIT IN A LONG QUE
43.8% PEOPLE THINK TO TRAVEL ALL THE WAY LONG
28.6% PEOPLE THINK THE PLACE ALLOTED ISNT CONVIENT

53.3% PEOPLE THINK IT IS CONVENIENT TO VOTE WHILE 17%DOES NOT THINK IT IS CONVENIENT TO
VOTE & REST 29.5% HAS A NEUTRAL ANSWER

38
50.5% PEOPLE ARE AWARE ABOUT ONLINE REGISTRATION WHILE 40% PEOPLE ARE NOT AWARE
ABOUT ONLINE REGISTRATION
9.5% HAS NEUTRAL ANSWER

12.4% OF PEOPLE THINK VERY EASY

8.6 % OF PEOPLE THINK EASY

51.4% OF PEOPLE THINK NEUTRAL

19% OF PEOPLE THINK HARD

8.6% OF PEOPLE THINK VERY HARD

39
CHAPTER 3 REQUIREMENTS AND ANALYSIS
DIAGRAMS
3.1 ER DIAGRAM

 An ER model is commonly formed to represent things that a business needs to remember


in order to perform business processes.
 ER model becomes an abstract data model, that defines a data or information structure
which can be implemented in a database, typically a relational database.
 A basic ER model is composed of entity types (which classify the things of interest) and
specifies relationships that can exist between instances of those entity types.
 A basic ER model is composed of entity types (which classify the things of interest) and
specifies relationships that can exist between instances of those entity types.

40
3.2 USE CASE

 A requirements analysis concept uses for the system/product.


 It describes the system's actions from the point of view of a user.
 It specifies one aspect of the behavior of a system, without specifying the structure of the
system.
 They are helpful in giving an overview, but only secondary in importance to the textual
description.

41
3.3 FLOWCHART

 A flowchart is a diagram that depicts a process, system or computer algorithm.


 They are widely used in multiple fields to document, study, plan, improve and
communicate often complex processes in clear, easy-to-understand diagrams.
 They can range from simple, hand-drawn charts to comprehensive computer-drawn
diagrams depicting multiple steps and routes.
 Flowcharts allow you to draw a picture of the way a process actually works so that you
can understand.

42
3.4 DATA FLOW DIAGRAM(DFD)

 A data flow diagram is a graphical representation that depicts information flow and the
transforms that are applied as data move from input to output.
 The data flow diagram may be used to represent a system or software at any level of
abstraction.
 DFD provides a mechanism for functional modeling as well as information flow
modeling.
 DFDs are very useful in understanding a system and can be effectively used during
analysis.

LEVEL 0 DFD

43
LEVEL 1 DFD

44
3.5 GANT CHART

A Gantt chart, commonly used in project management, is one of the most popular and useful
ways of showing activities (tasks or events) displayed against time. On the left of the chart is a
list of the activities and along the top is a suitable time scale. Each activity is represented by a
bar the position and length of the bar reflects the start date, duration and end date of the activity.

45
CHAPTER 4 SYSTEM DESIGN

4.1 PSEUDO CODE

Opening Page/Home Page

Select Options

Create Account (Registration) or Login (if already have an account)

Register Screen

Enter details (Name, Phone No, Password, OTP)

If (properly filled details)

Account created

Else

Error to create account

Login page

Enter username and password

if username and password is right

Allow access

Else

Denied access / create new account

Vote Page/Fingerprint verification

if fingerprint is matched

46
Allow access

else

Denied access / retry

ID Verification

if Entered ID is correct

Allow access

else

Denied access / retry

Face Verification

if Entered input is correct

Allow access

else

Denied access / retry

Select Your Party and vote

select an option:

opt1

opt2

opt3..., n;

Thank You Page/Final Page

47
text (THANK YOU FOR YOUR VOTING)

Finish

48
2. DESIGNING

HOME PAGE:

This the home page we can Create an account or if you Already Have an account then you can login

49
REGISTRATION PAGE:

This is the Registration page were we have to create our account

50
LOGIN PAGE:

This is the login page with email and password sign-in.

51
VOTE PAGE \ FINGERPRINT VERIFICATION:

This is the Fingerprint Verification page For Voting

52
SELECT PARTY PAGE:

This the Party Page where you have to select any party for Vote

53
CHAPTER 5: IMPLEMENTATION AND TESTING

5.1 IMPLEMENTATION APPROACH

 This System is developed using Waterfall Model.

WATERFALL MODEL

 This project has been developed by following the Waterfall development approach.
 The waterfall approach was the first SDLC Model to be used widely in Software Engineering
to ensure the success of the project
 In this Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
 The advantages of waterfall development are that it allows for departmentalization and
control. A schedule can be set with deadlines for each stage of development and a product can
proceed through the development process model phases one by one.
The sequential phases in the Waterfall model are:
 Requirement Gathering and analysis: The aim of this phase is to understand the exact
requirements of the customer and to document them properly. Both the customer and the
software developer work together so as to document all the functions, performance, and
interfacing requirement of the software.

 System Design: The requirement specifications from the first phase are studied in this phase
and the system design is prepared. This system design helps in specifying hardware and
system requirements and helps in defining the overall system architecture.

 Implementation: With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing. This unit include Home Page,
Registration, Login, Vote page\Fingerprint Verification, ID Verification, Face Detection and
Select Party Page.

54
 Integration and Testing: All the units developed in the implementation phase are integrated
into a system after testing of each unit. The better output will lead to satisfied customers,
lower maintenance costs, and accurate results. Unit testing determines the efficiency of
individual modules. The system passes the tests, the waterfall continues forward.

 Deployment: Once the functional and non-functional testing is done; the App is once hosted
on the server to test its performance at the client side.

 Maintenance: Some issues come up in the client environment. To fix those issues, patches
are released. Maintenance is done to deliver these changes in the customer environment.

ADVANTAGES OF WATERFALL MODEL


 It is simple and easy to understand and use.
 The entry and exit criteria are well defined, so it easy and systematic to proceed with quality.
 For smaller projects, the waterfall model works well and yield the appropriate results.
 Allows for early design or specification changes to be made easily.
DISADVANTAGE OF WATERFALL MODEL
 It cannot adopt the changes in requirements
 It is not suitable for the projects where requirements are changed frequently.

 Reduces efficiency by not allowing processes to overlap.

 No working product is available until the later stages of the life cycle.

55
5.2: CODING AND CODING EFFICIENCY
CODING

XML Codes

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:background="@drawable/back2"

android:layout_height="match_parent"

tools:context=".MainActivity">

<ImageView

android:id="@+id/imageView5"

android:layout_width="300dp"

android:layout_marginTop="20dp"

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

android:layout_centerHorizontal="true"

android:layout_height="400dp"

app:srcCompat="@drawable/voter" />

<TextView

android:id="@+id/welcome5"
56
android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@+id/imageView5"

android:layout_marginTop="10dp"

android:text="Online Voting System"

android:textAlignment="center"

android:textColor="@android:color/black"

android:textSize="60dp" />

</RelativeLayout>

activity_home.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/back2"

tools:context=".HomeActivity">

<TextView

android:id="@+id/votenowtv"

android:layout_width="match_parent"
57
android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:layout_marginRight="20dp"

android:visibility="invisible"

android:layout_marginLeft="20dp"

android:padding="20dp"

android:textAlignment="center"

android:textColor="@android:color/black"

android:textSize="20sp"

android:text="Click here to vote now"/>

<ImageView

android:layout_below="@+id/votenowtv"

android:id="@+id/authenticate"

android:layout_centerHorizontal="true"

android:layout_marginTop="50dp"

android:layout_width="200dp"

android:layout_height="200dp"

android:visibility="invisible"

android:src="@drawable/votenow"/>

<ImageView

android:layout_below="@+id/votenowtv"

android:id="@+id/votedicon"
58
android:layout_centerHorizontal="true"

android:layout_marginTop="50dp"

android:layout_width="200dp"

android:layout_height="200dp"

android:visibility="invisible"

android:src="@drawable/voted"/>

<TextView

android:visibility="invisible"

android:layout_below="@+id/votedicon"

android:id="@+id/votedtv"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

android:padding="20dp"

android:textAlignment="center"

android:textColor="@android:color/black"

android:textSize="20sp"

android:text="Thanks for voting!"/>

</RelativeLayout>

59
activity_login.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/back2"

tools:context=".LoginActivity">

<EditText

android:id="@+id/loginphone"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@+id/h5"

android:layout_marginTop="60dp"

android:ems="10"

android:hint="Enter Phone number..."

android:inputType="number"

android:maxLength="10"

android:background="@drawable/input_design"

android:padding="20dp"

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

60
app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

<EditText

android:id="@+id/loginpassword"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="40dp"

android:ems="10"

android:background="@drawable/input_design"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:padding="20dp"

android:layout_below="@+id/loginphone"

android:hint="Enter password.."

android:inputType="textPassword"

app:layout_constraintStart_toStartOf="@+id/loginphone"

app:layout_constraintTop_toBottomOf="@+id/loginphone" />

<Button

android:id="@+id/loginbutton"

android:layout_below="@id/loginpassword"

android:layout_width="match_parent"

android:padding="20dp"
61
android:layout_marginRight="20dp"

android:textColor="@android:color/white"

android:layout_marginLeft="20dp"

android:background="@drawable/buttons"

android:layout_height="wrap_content"

android:layout_marginTop="29dp"

android:text="Login"

android:layout_centerHorizontal="true"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/loginpassword" />

<TextView

android:id="@+id/Newuser"

android:layout_below="@id/loginbutton"

android:layout_width="match_parent"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:padding="20dp"

android:textAlignment="center"

android:layout_centerHorizontal="true"

android:layout_height="wrap_content"

android:textColor="@android:color/background_dark"

android:layout_marginTop="29dp"
62
android:layout_marginEnd="22dp"

android:text="New User ? Create Your Account."

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintTop_toBottomOf="@+id/loginbutton" />

<TextView

android:id="@+id/h5"

android:text="Login To Your Account"

android:textColor="@android:color/background_dark"

android:padding="20dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:textSize="20dp"

android:textAlignment="center"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

</RelativeLayout>

activity_register.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"
63
android:layout_height="match_parent"

android:background="@drawable/back2"

tools:context=".RegisterActivity">

<EditText

android:id="@+id/nameentry"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:background="@drawable/input_design"

android:ems="10"

android:hint="Name.."

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

android:layout_below="@+id/h3"

android:padding="20dp"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

<EditText

android:id="@+id/phoneentry"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@+id/nameentry"
64
android:layout_marginLeft="20dp"

android:layout_marginTop="10dp"

android:layout_marginRight="20dp"

android:background="@drawable/input_design"

android:ems="10"

android:hint="Phone Number.."

android:inputType="number"

android:maxLength="10"

android:padding="20dp"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/nameentry" />

<EditText

android:id="@+id/passwordentry"

android:layout_below="@+id/phoneentry"

android:layout_width="match_parent"

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

android:layout_height="wrap_content"

android:layout_marginTop="10dp"

android:background="@drawable/input_design"

android:ems="10"

android:hint="password.."

android:inputType="textPassword"
65
android:padding="20dp"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="@+id/phoneentry"

/>

<Button

android:id="@+id/registerbutton"

android:layout_below="@id/passwordentry"

android:layout_marginRight="20dp"

android:layout_marginLeft="20dp"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:background="@drawable/buttons"

android:padding="20dp"

android:text="Create Account"

android:textColor="@android:color/white"

app:layout_constraintEnd_toEndOf=z"parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/passwordentry" />

<TextView

android:id="@+id/h3"

android:layout_width="match_parent"

android:text="Create Your Account Here"


66
android:padding="20dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:textAlignment="center"

android:textColor="@android:color/background_dark"

android:textSize="20dp"

android:layout_height="wrap_content" />

</RelativeLayout>

activity_selectparty.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@drawable/back2"

tools:context=".SelectParty">

<TextView

android:id="@+id/selectparty"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="20sp"

android:layout_marginTop="200dp"
67
android:text="Select Your Party"

android:textAlignment="center"

android:layout_centerHorizontal="true"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:textColor="@android:color/black"

/>

<Button

android:layout_below="@+id/selectparty"

android:id="@+id/party1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@drawable/buttons"

android:text="Party 1"

android:textColor="@android:color/white"

android:textSize="20sp"

android:layout_marginTop="20dp"

android:layout_marginRight="100dp"

android:layout_marginLeft="100dp"/>

<Button

android:id="@+id/party2"

android:layout_width="match_parent"

android:layout_height="wrap_content"
68
android:background="@drawable/buttons"

android:text="Party 2"

android:textColor="@android:color/white"

android:layout_below="@+id/party1"

android:textSize="20sp"

android:layout_marginTop="20dp"

android:layout_marginRight="100dp"

android:layout_marginLeft="100dp"/>

<Button

android:id="@+id/party3"

android:layout_width="match_parent"z

android:layout_height="wrap_content"

android:background="@drawable/buttons"

android:layout_below="@+id/party2"

android:text="Party 3"

android:textColor="@android:color/white"

android:textSize="20sp"

android:layout_marginTop="20dp"

android:layout_marginRight="100dp"

android:layout_marginLeft="100dp"/>

</RelativeLayout>

69
CH 5.3: TESTING APPROACHES

5.3.1 UNIT TESTING

Unit testing is a method by which individual units of source code, sets of one or more computer
program modules together with associated control data, usage procedures, and operating procedures,
are tested to determine if they are fit for use Intuitively, one can view อ unit as the smallest testable
part of an application.
In procedural programming a unit could be an entire module but is more commonly an individual
function or procedure. In object-oriented programming a unit is often an entire interface, such as a
class, but could be an individual method. Unit tests are created by programmers or occasionally by
white box testers during the development process

5.3.2 INTEGRATION TESTING:

Integration testing is the phase in software testing in which individual software modules are
combined and tested as a group It occurs after und testing and before dation testing Integration testing
takes as its input modules that have been into groups them in target aggregates, applies tests defined
in an integration test or to those aggregates, and delivers as its output the integrated system ready for
system testing.

Integration testing is performed by testing the connectivity of pages for which code is written This is
done by taking the values in one particular page checking its validity and passing successfully, this
ensures the pages are connected properly That means Integration testing is successful and system
testing can be conducted.

70
5.3.3 SYSTEM TESTING:

System testing is performed by testing various packages which combine to make a complete project
Each package contains a number of pages which are connected or inked to each other or to the pages
in package to perform a particular unit of work reach page in a package is tested for their
connectivity in integration testing then for system testing it is checked that the pages which are
connected to the pages in other package that forms a link between two packages to make a complete
system to run are checked for their connectivity. If the connection of packages runs properly then it
means that the system testing is successful and the project is ready for implementation and use.
As a rule, system testing takes, as its input, all of the "integrated software components that have
successfully passed integration testing and also the software system itself integrated with any
applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies
between the software units that are integrated together or between any of the assemblages and the
hardware.

5.3.4 ACCEPTANCE TESTING

Acceptance testing is a final stage of testing that is performed on a system before the system being
delivered to a live environment Systems subjected to this testing process might include such
deliverables as a software system or a mechanical hardware system Acceptance test is also generally
performed as "black box" test, which means that the tester uses specified inputs into the system and
verifies that the resulting outputs are correct, without knowledge of the system's internal workings.

User acceptance testing (UAT) is the term used when these tests are performed by the person who
will be using the live system once it is delivered If the system is being built of developed by an
external supplier, this is sometimes called customer acceptance (CAT) The UAT or CAT acts as a
final confirmation that the system is ready for go-live A successful one at this stage may be a
contractual requirement prior to the system being signed off by the client.

71
5.4 TEST CASES

REGISTRATION
Test Test Case Description Input Data Expected
Case ID Result

TC_1 Blank username, Enter Name= ERROR


password, phone Mobile no =
number password=
TC_2 Blank username, Enter Name = ERROR
Blank password, Mobile no=9167731301
correct phone Password=
number
TC_3 Correct Username, Enter Name =Sujit Poojari ERROR
Correct password, Mobile no=
Blank Phone number Password=********

TC_4 Correct Username, Enter Name =Sujit Poojari ACCOUNT


Correct password, Mobile no=9167731301 CREATED
Correct Phone Number Password=******** SUCCESFULLY

LOGIN
Test Test Case Description Input Data Expected
Case ID Result

TC_1 Blank phone no and Mobile no = ERROR


password password=

TC_2 Correct phone no Mobile no=9167731301 LOGIN


and password Password= SUCCESSFULL
Y

72
ID VERIFICATION
Test Test Case Description Input Data Expected
Case ID Result

TC_1 Blank ID ID= ERROR

TC_2 Correct UIDAI ID= 2736 3482 3638 SUBMITTED


Number SUCCESSFULL
Y

73
CHAPTER:6 RESULTS AND DISCUSSIONS

6.1 TEST REPORTS

REGISTRATION
Test Test Case Description Input Data Expected TEST
Case Result CASE
ID RESU
LT
TC_1 Blank username, Enter Name= ERROR PASS
password, phone number Mobile no =
password=
TC_2 Blank username, Blank Enter Name = ERROR PASS
password, correct Mobile no=9167731301
phone number Password=
TC_3 Correct Username, Enter Name =Sujit Poojari ERROR PASS
Correct password, Blank Mobile no=
Phone number Password=********

TC_4 Correct Username, Correct Enter Name =Sujit Poojari ACCOUNT PASS
password, Correct Phone Mobile no=9167731301 CREATED
Number Password=******** SUCCESFUL
LY

LOGIN
Test Test Case Description Input Data Expected Result TEST
Case CASE
ID RESU
LT
TC_1 Blank phone no and Mobile no = ERROR PASS
password password=

TC_2 Correct phone no Mobile no=9167731301 LOGIN PASS


and password Password= SUCCESSFULLY

74
ID VERIFICATION
Test Test Case Description Input Data Expected Result TEST
Case CASE
ID RESUL
T
TC_1 Blank ID ID= ERROR PASS

TC_2 Correct UIDAI ID= 2736 3482 3638 SUBMITTED PASS


Number SUCCESSFULLY

75
6.3 SCREENSHOTS

HOME PAGE

76
REGISTRATION PAGE

77
LOGIN PAGE

78
VOTE PAGE/ FINGERPRINT VERIFICATION

79
ID VERIFICATION

80
FACE DETECTION PAGE

81
SELECT PARY PAGE

82
FINAL STATUS PAGE

83
CHAPTER 7 CONCLUSION

7.1 CONCLUSION
This E 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. It provides the tools for
maintaining voter’s vote to every party. There is a Database which is maintained on platform that is
Firebase 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 details store
in database. By online voting system percentage of voting is increases. It decreases the cost and time
109 of voting process. It is very easy to use and It is very less time consuming.

7.2 LIMITATION
The current application doesn’t have an option to add new products. The process of getting an OTP
during login is bit difficult. Collecting information through a huge number of population might be a
limitation.

7.3 FUTURE SCOPE


In future we will enhance our system by integrate AADHAAR Card detail API so that, we can
match actual Biometrics of user with input biometrics and also, we will add face recognition feature
with face detection that will make our system more reliable.

84
SUMMARY
The main aim of the project is that we can vote digitally rather than using paper. This is an Android
application used to securely conduct votes and elections.

In this project I am using Firebase as a backend for for login, registration and for storage purpose
which make our system highly secured and reliable.

Firebase ML kit for face detection which allows us to vote, one person at a time. This application also
verifies biometric with the help of finger print verification.

85
GLOSSARY

 IDLE – Integrated Development And Learning Environment

 API - Application Programming Interface

 D.O.B – Date Of Birth

 RAM – Random Access Memory

 SDK - Software Development Kit

 API - Application Programming Interface

 NDK- Native Development Kit

 IDE- Integrated Development Environment

 OTP- One-Time Password

86
REFERENCES

BOOKS
 Ian Somerville ‘Software engineering’
 Rajeev mall ‘Software engineering’

ONLINE REFERENCE
 www.stackoverflow.com
 firebase.google.com/docs
 W3 school
 https://youtu.be/9kRgVxULbag
 https://youtu.be/QwHD36bhXZA

87

You might also like