Tyit 42
Tyit 42
A project report
42
Under the esteemed guidance of
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.
5
INDEX
CHAPTER 1: INTRODUCTION………………………………………………………….9
1.2 OBJECTIVE……………………………………………………………………………..10
1.3.1 PURPOSE……………………………………………………………………...10
1.3.2 SCOPE…………………………………………………………………………11
1.3.3 APPLICABILITY……………………………………………………………...11
2.2 BACKEND………………………………………………………………………….… 15
3.1 ER DIAGRAM………………………………………………………………………….40
4.1 PSEUDOCODE………………………………………………………………………...46
4.2 DESIGINING.............................................................................................................. 49
6.2 SCREENSHOTS………………………………………………………………………..76
CHAPTER 7: CONCLUSIONS…………………………………………………………84
7.1 CONCLUSION………………………………………………………………………...84
SUMMARY………………………………………………………………………………..85
GLOSSARY………….……………………………………………………………………86
REFERENCE……………………………………………………………………………..87
7
List of Figure
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.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.
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
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
2.1.4 JAVASCRIPT
14
2.2 BACK END
2.2.1 JAVA
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.
16
I will be using Java, Firebase and Firebase ML Kit as Backend.
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.
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.
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
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
39
CHAPTER 3 REQUIREMENTS AND ANALYSIS
DIAGRAMS
3.1 ER DIAGRAM
40
3.2 USE CASE
41
3.3 FLOWCHART
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
Select Options
Register Screen
Account created
Else
Login page
Allow access
Else
if fingerprint is matched
46
Allow access
else
ID Verification
if Entered ID is correct
Allow access
else
Face Verification
Allow access
else
select an option:
opt1
opt2
opt3..., n;
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:
50
LOGIN PAGE:
51
VOTE PAGE \ FINGERPRINT VERIFICATION:
52
SELECT PARTY PAGE:
This the Party Page where you have to select any party for Vote
53
CHAPTER 5: IMPLEMENTATION AND TESTING
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.
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
<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:textAlignment="center"
android:textColor="@android:color/black"
android:textSize="60dp" />
</RelativeLayout>
activity_home.xml
<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"
<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"
</RelativeLayout>
59
activity_login.xml
<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: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"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/loginbutton" />
<TextView
android:id="@+id/h5"
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
<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: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
<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
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
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.
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
LOGIN
Test Test Case Description Input Data Expected
Case ID Result
72
ID VERIFICATION
Test Test Case Description Input Data Expected
Case ID Result
73
CHAPTER:6 RESULTS AND DISCUSSIONS
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=
74
ID VERIFICATION
Test Test Case Description Input Data Expected Result TEST
Case CASE
ID RESUL
T
TC_1 Blank ID ID= ERROR PASS
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.
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
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