Вы находитесь на странице: 1из 190

i

DEVELOPMENT OF RPI VOTING SYSTEM


FOR STUDENT GOVERNMENT ELECTION

A Research Project

Presented to the Faculty of the


Department of Industrial Technology
Technological University of the Philippines at Cavite
Carlos Q. Trinidad Ave., Salawag,
Dasmariñas City, Cavite

by

PRINCESS LAURIZ R. BACERO


KATRINA PAULA G. BALBUENA
JUDY ANN J. NAPILI
SHERI O. PANTE

In Partial Fulfillment of the Requirements for the Degree


Bachelor of Technology

March 2019
ii
iii

ACKNOWLEDGEMENT

The researchers would like to express their sincere gratitude and appreciation to

those who contributed and shared their valuable assistant, support, and encouragement in

the whole process of completing this project.

The researchers are grateful to God for the guide, wisdom and blessings He gave

throughout the whole period of the study.

For the support, love and encouragement from our parents during our study as

college students and for everyday of our lives, we are eternally grateful.

To Mr. Allen Allada, we are truly thankful and grateful to him for guiding us all

throughout this journey and for helping us make this project possible.

To our Adviser, Mrs. Ma. Juliet Patria Escalona, we are thankful and indebted to

her for sharing her expertise and guidance.

To our subject Professor, Mr. Victor Gumboc, we are thankful and gratified to his

words of wisdom and encouragement as well as the guidance he has given to our entire

section.

To the panel members, Mrs. Beverly M. De Vega, Mr. Arnold De Vega and Mr.

John Paulo Diaz for giving their professional criticism that guided us to the success of the

project.

Lastly, to the other people who helped and sacrificed a moment of their time for the

sake of the project.


iv

ABSTRACT

This study is to develop a Raspberry Pi Voting System. The researchers aim to improve
the efficiency and to have comfortability for both officials and voters compared to the
current voting system which is the paper-based voting system. The system developed with
the use of Java a programming language along with the NetBeans IDE for the main server
and registration host and Android Studio IDE for the android mobile application. Also
SQL a programming language used for the database. It is also consists of a hardware
components such as scanner, RTC module and Raspberry Pi. The RVS has 3 parts; main
server, registration host and the mobile application. First, the main server where the
officials can monitor the leading candidates according to the real-time vote count. It also
gives the officials an authority to update the list of candidates. Second, the registration host
where the voter can register by means of scanning their specified QR Codes on the device.
Lastly, the Mobile Application where the voter can vote and the data will be sent to the
main server for the result. Test result showed that the mobile application can run only on
android phones version 7.0 Nougat and up. The researchers conducted three (3) test, its
accuracy, functionality and reliability of the project. The gathered data from the survey
answered by the evaluators to rate the project got an average rating of 4.51 which has a
descriptive rating equivalent to "Highly Acceptable".
v

TABLE OF CONTENTS

PRELIMINARIES Page

Title Page i

Approval Sheet ii

Acknowledgement iii

Abstract iv

Table of Contents v

List of Figures vii

List of Tables x

Chapter 1 - INTRODUCTION

Background of the Study 1

Objectives of the Study 3

Scope and Limitations of the Study 4

Chapter 2 – CONCEPTUAL FRAMEWORK

Review of Related Literature and Studies 5

Conceptual Model of the Study 41

Operational Definition of Terms 43

Chapter 3 – METHODOLOGY

Project Design 45

Project Development 48

Operation and Testing Procedure 74

Evaluation Procedure 80
vi

Chapter 4 – RESULTS AND DISCUSSION

Project Description 83

Project Structure 85

Project Test Results 108

Project Capabilities and Limitations 113

Project Evaluation Results 114

Chapter 5 – SUMMARY OF FINDINGS, CONCLUSSIONS,

AND RECOMMENDATIONS

Summary of Findings 124

Conclusion 125

Recommendation . 126

REFERENCES 127

APPENDICES 136

RESEARCHERS PROFILE 170


vii

LIST OF FIGURES

Figure Title Page

1 Paper Based Voting System 6

2 Paper Based Voting System 7

3 Lever Based Voting System 8

4 Punch Card System 9

5 Optical Scan 10

6 Direct Recording Voting Machine 11

7 Graphical User Interface 22

8 QR Code 26

9 QR Code Scanner 27

10 Real-time Clock 28

11 Raspberry Pi 3 - Model B 30

12 Raspberry Pi 3 Capacitive Touch Screen 31

13 Raspbian OS 33

14 Ubuntu MATE 34

15 Windows 10 IoT Core 35

16 RISC OS 36

17 OSMC 37

18 Conceptual Model of Development of RPi Voting

System used for Student Government Election 42

19 Isometric Drawing of the RPi Voting System 45

20 Exploded Drawing of RPi Voting System 46


viii

21 Block Diagram of RPi Voting System 47

22 Flow Chart for creating an account of an Admin 50

23 Flow Chart of Account Log in of an Admin and Exporting

the Summary of Votes and Voters through PDF Format 52

24 Flow Chart of Editing the Details of an Admin Account 54

25 Flow Chart of Managing of an Admin Accounts 55

26 Flow Chart of Managing the Polling Hours 57

27 Flow Chart of Creating a Party List 59

28 Flow Chart of Adding the Bona Fide Candidates 61

29 Flow Chart of Setting the Maximum Number of

Senator and Governor to be Voted 62

30 Flow Chart of Registration of Voters 64

31 Flow Chart of RVS during Voting 67

32 Flow Chart of Deleting the Registered Voter 68

33 Raspberry Pi 3 Model B 69

34 QR Code Scanner 70

35 Memory Card 71

36 RTC Module 72

37 Prototype of RVS 84

38 Unfinished Case of the Project 85

39 RPi Voting System Main Server 86

40 Scanner includes the Fire Wire to USB Cable 87

41 LCD Touch Screen attached on the RPi 88


ix

42 Router 89

43 Registration Page of the Admin Account on the

Main Server 90

44 Log in Page of the Main Server 91

45 Home Page of the Main Server 92

46 Pop up Window of Edit My Info 93

47 Pop up Window of Manage Admin Accounts 94

48 Pop up Window of Manage Polling Hours 95

49 Pop up Window of Set Maximum Candidates 96

50 Home Page of the Main Server with the Downloaded

File in PDF Format 97

51 The Candidates Page 98

52 Pop up Window of Add Candidates 99

53 Pop up Window of Add Party List 100

54 The Voters Page 101

55 Software application on the Registration host 102

56 GUI of RVS on the Registration host 103

57 Admin Log in Page on the Registration host 104

58 Registration of the voter on the Registration host 105

59 The Icon of the Mobile Application of the RVS 106

60 Home page of the Mobile Application 107


x

LIST OF TABLES

Table Title Page

1 Likert Scale 77

2 Descriptive Interpretation of the Mean 78

3 Testing Results for Admin Registration 104

4 Testing Results for Enlisting Bona fide candidates 105

5 Testing Results for Managing Polling hours 106

6 Testing Results for Voter Registration 107

7 Testing Results for Voting using the mobile app 108

8 Testing Results for Exporting the voting result

through pdf 109

9 Testing Results for Exporting the list of voters

through pdf 110

10 Testing Results for Real-time Overall Result 111

11 Testing Results for Identifying the QR code of a voter 112

12 Testing Results for Identifying the QR Code of an admin 113

13 Testing Results for Limit of 3 voters per 1 MAC Address 114

14 Testing Result for Voter Trying to Vote on

Unscheduled Polling Hours 115

15 Testing Result for Voter Trying to Vote More

Than Once 116

16 Testing Result for Voter Trying to Vote using

Mobile Application More Than Three Times 117


xi

17 Testing Result for Voter Trying to Exceed

the Chosen Candidates for Senators and Governors 118

18 Testing Result for Voter Trying to Scan Again Their

QR Code 119

19 Testing Result for Exceeding the Number of

Admins’ Account 120

20 Evaluation Results for Functionality 123

21 Evaluation Results for Aesthetics 124

22 Evaluation Results for Workability 125

23 Evaluation Results for Durability 126

24 Evaluation Results for Economy 127

25 Evaluation Results for Safety 128

26 Evaluation Results for Salability 129

27 Summary of Evaluation Result 131


1

Chapter 1

INTRODUCTION

Background of the study

A voting system is a system where people elect a person to be a leader and to handle

bigger duties and responsibilities. According to Everett Vasquez, voting is a fundamental

right of any person and it also helps them to realize the importance of having a power to

elect. The purpose of voting system is to count the majority of votes in a large number of

voters who’s in favor to the candidate. Different voting systems have a different variety of

features, based on how proportional they are and the way of how a voter choose between

different candidates.

The traditional voting system is a paper-based voting system, even in student

government elections. It is sometimes called a “Document Ballot Voting System”. In this

kind of system, the paper ballots are printed ahead of time. Using a paper-based voting

system, paper ballots are reconciled and counted manually. This kind of system is wildly

use internationally and locally. However, paper-based voting system is easily manipulated

and may cause unwanted error that can lead for not having an accurate result.

Paper-based voting system is time consuming and generates a lot of manpower to

count the votes manually. Paper-based voting system, considered out-of-date

technological concept, is time-consuming. It can lost some votes which can invalidate the

result. In today’s society, it is difficult to understand why higher officials are not

converting their paper based electoral systems to electronic form to guaranty “One Person

– One Vote” documented by Thomas Bronack (n.d).


2

The students are required to vote in every student government election and one of

the factors affecting for not counting their votes is when they are not following the given

instruction. Considering when there are large numbers of voters, it can consume time and

effort of the authorized officials. The Commission on Student Election or COMSELEC of

Technological University of the Philippines in Cavite admitted in an interview conducted

by the researchers of this project that they are having issues in counting the votes manually.

Often times there are voters that are not following instruction. Instead of shading

the circle provided, other voters use checkmark. There was also a time when some voter

exceeds in choosing candidates, like when the voter is only instructed to choose only 5

candidates some voters exceeds the number of chosen candidates that leads for having their

vote to be automatically rejected. Manual counting consumes a lot of time that causes

unwanted error. The right of the voter to elect is diminished and the concept of one person

– one vote is eliminated and leads to an effect of not having accurate result.

The researchers pursue solutions to these problems by developing an electronic

voting system. Where the voters use a mobile application for voting. The application

follows proper authentication measures to avoid and eliminate double voting. The voter

must register first to the registration host using the voter’s QR Code. To avoid any attacks

and disclosure of results the candidates vote count is encrypted and securely stored in the

data base. This project helps to reduce the complexity of counting, and eliminate lost votes.
3

Objectives of the Study

The main objective of this project is to improve the process of voting system for

student government elections at Technological University of the Philippines Cavite

Campus, and to lessen the time and the effort of the authorize official on polling day.

Specifically, the study aims to:

1. Design and develop a device that can:

a. register the students using QR code

b. enlist the bona fide candidates

c. vote using mobile app

d. show the summary of votes on the mobile app

e. summarize the results and can be exported to excel

2. Develop a mobile application for voters that can interact with Raspberry

pi.

3. Test the project according to its functionality, accuracy, and reliability.

4. Evaluate the voting system using the evaluation criteria for prototype in

terms of functionality, aesthetics, workability, durability, economy,

safety, and salability of the project.


4

Scope and Limitations of the Study

This voting system is intended to tabulate large number of voters and it is more

organized compared to the paper based voting system. This prototype uses a network

communication to transfer the data and information to the database. It is controlled by an

authorize official with corresponding accounts through web application for local area

network. The system has a main application that will have a unique key that validates with

the web application so that only the main server can access the administrator features. This

project also has a registration host that will process registration and stores the newly

registered voters to the database. The mobile application can only access the voting

features of the web application within the set polling hours.

On the other hand, controlling the prototype by the use of network communication

also has its downside, for it is only controlled within the same network. The mobile

application is only designed for android OS version, it can be installed but it will only

activate within the polling hours set by the admin and it has a limit of three entries or user

per one MAC address.

This research aims to create an electronic voting system that will enhance and

minimize the time and the effort of the authorize official in organizing the overall process

of election. The summary of results is securely recorded in a data base. This project will

benefit the Commission on Student Election of Technological University of the Philippines

– Cavite Campus to reduce the complexity in counting the votes and showing of results of

election
5

Chapter 2

CONCEPTUAL FRAMEWORK

This chapter presents the overview of the related literature and studies, conceptual

model of the study and operational definition of terms that will guide the development of

this research.

Review of Related Literature and Studies

Voting System

This section shows the literatures the researchers have found that could show the

current technology of voting system has as of today to aid the development of the prototype.

As stated in the article of Essays, UK. (November 2013), “Voting system means a

method of casting and processing votes that functions wholly or partly by use of

electromechanical, or electronic apparatus or by use of paper ballots and includes, but is

not limited to, the procedures for casting and processing votes and the programs, operating

manuals, tabulating cards, printouts and other software necessary for the system’s

operation”. A voting system consists of a configuration of specific hardware and software

components, procedures and expendable supplies, stored in a system which allows votes

to be cast and tabulated. Adequate components must be assembled to create the structure

of the system, when all the requirements described for a voting system in this publication

was meet the system will allow it as a whole.

Paper Based Voting System

Over the years the pressure to get the election results had been increased or

at least provisional results, after the closing of the official voting period. That leads

to an effort of improving the voting systems efficiency and capacity to deliver the
6

results in a short time while ensuring the secrecy of the vote and the accuracy of

counting. Technologies and vote counting use in voting is closely related since

most voting machines, besides from recording the person’s vote it is usually having

some mechanism, either mechanical or electronic, to cast the votes and cast it into

the machine.

According to The Electoral Project Network (2017), the most serious

problem with the use of paper-based voting is the counting of votes and could be

the lack of a log or paper trail, which could enable a reliable recount in the case of

machine failures or any other problem. Many vendors of voting systems worldwide

are trying to address this problem by providing some kind of paper trail or other

trail mechanism to ensure that a vote recount can be done and that election

stakeholders can audit both the vote recording and the vote counting at any time

during or after the voting session. In Figure 1 and Figure 2, Paper Based Voting

System is shown.

Figure 1. Paper Based Voting System

Retrieved from https://minbane.wordpress.com/tag/philippines-truth-commission/


7

Figure 2. Paper Based Voting System


Retrieved from https://www.untvweb.com/news/comelec-records-99-884-overall-accuracy-rate-based-ongoing-
random-manual-audit/

Lever Voting System

As cited in ProCon.org. (2013), “Mechanical lever machines introduced in

1960 to 1980 and were completely phased out by 2010 in the United States”. The

lever machine has a steel booth that the voter steps into. The booth has a card with

the list of the names of the candidates, parties and a referenda option, the booth has

a switch below of each options. Voters flick the switch of their preferred options

for each office or referendum. When the voters finalize their votes, they pull a large

lever that will instantly registers their votes on a counter located on the back of the

machine. At the end of the day the election precinct workers will record the tallies

from each of the machines. Lever machines automatically cast and count the votes

through mechanical devices. In Figure 3, Lever Based Voting System is shown.


8

Figure 3. Lever Based Voting System


Retrieved from http://www.gothamgazette.com/gotham-votes/4557-prepare-for-old-school-voting

Punch Card System

Ansolabehere, S. (2001) stated that “punch card machines was used in

1960s. In this kind of voting, the voter was given a long piece of heavy stock

paper”. The paper is composed of columns and perforated rectangles. During

1960s there are two types of Punch Card, the Data Vote and the VotoMatic. Data

vote has a list of names of candidates in the paper. While the VotoMatic the voter

uses a metal puncher to punch the rectangle beside the candidate box. In Figure 4,

Punch Card System is shown.


9

Figure 4. Punch Card System


Retrieved from https://www.businessinsider.com/you-can-buy-a-florida-voting-machine-from-the-2000-
election-on-ebay-2016-11

Optical Scan

Based on the article of The Congressional Research Services (2003), “the

optical-scan voting system was first used in 1980s and it also uses computers for

vote counting. In this kind of system, document ballots are fed into an electronic

reader and the tallies stored in computer memory and media”. Tallying or counting

of votes can be done at a precinct or a central location. Computer-assisted counting

of document ballots can be done very rapidly, thus speeding the reporting of

election results. It is much more efficient for counting large numbers of ballots

than manual tallying. In Figure 5, Optical Scan is shown.


10

Figure 5. Optical Scan


Retrieved from https://www.syracuse.com/news/index.ssf/2010/09/some_worry_new_voting_machines.html

Direct recording electronic voting machine

As cited at the United States Election Assistance Commission (2006), “the

latest configuration of voting systems is known as Direct Electronic Voting or

DRE’s. It is the evolution of the old mechanical lever systems. The lever machine

has no ballots the possible choices are visible to the voter in front of the machine”.

The voter enters choices with the use of touch screen, push button or similar device.

An alphabetic keyboard is often provided with the entry device to allow for the

possibility of write-in votes. The votes of the voters are stored in a memory

cartridge, smart-card or diskette and added to the choices of all other voters.

According to the Government Accountability Office (2005), DREs capture

votes electronically, without the use of paper ballots. Direct Electronic Voting

comes in two basic models: pushbutton and touchscreen. In general, the interface

with the voter is very similar to that of an automated teller machine [ATM]. In

Figure 6, Direct Recording Electronic Voting Machine is shown.


11

Figure 6. Direct Recording Voting Machine


Retrieved from https://ishtiaquekhan.wordpress.com/2013/05/06/electronic-voting-machine-evm-development/

Mobile Application

Originally App Software was popularized by Apple Inc. and its Apps Store that

offer millions of applications for iPhone, iPad or iPod Touch. A mobile application is also

known as “App”, it is a type of software designed to run on a mobile device such as smart

phone and table computer. It is frequently serve to provide users similar apps that can

accessed and used on PCs. However, mobile applications provide isolated and limited

functionality such as mobile web browsing, game or calculator. (What is Mobile

Application, n.d.)

Native application

It is the apps developed and built for specific operating system, they are

“native” for a particular platform or device. If an app is developed for iOS, it will

remain exclusive to that operating system and it won’t work on Android devices

and vice-versa. One of the cons of native app is that it is a high cost compare to

other types of apps. Native apps for iOS was programmed using Objective-C,
12

native apps in Android Operating System was programmed in Java and ADT and

native apps on Windows operating system was programmed in NET(C#).

Hybrid apps

Hybrid Apps are both native apps and web pages app. This type of app has

a cross-platform compatibility but still can access the phones hardware. Hybrid

apps are mainly website applications disguised in a native wrapper. It is multi-

platform apps that are fast and easy to develop. It is a single code base that ensure

smooth updates and low-cost maintenance. HTML, CSS, JavaScript, JQuery,

Mobile JavaScript frameworks, Cordova/Phone Gap are commonly used to develop

a hybrid app.

Web apps

This app is similar to native applications. It uses a web browser to run the

application. The user can view the web app on Android, iOS or Windows table or

smart phone operating system. This type of mobile applications also works on PC

Web Browsers. HTML, CSS, JavaScript, JQuery are usually used to develop this

type of Mobile Application.

Mobile Operating System

Rouse, M. (2011, December) stated that Operating systems allows smart phones,

PCs and other devices needs to run application and programs. The mobile OS starts up

when the mobile phone is booted and displays the mobile applications. It also manages

phone access, application access, and cellular and wireless network connectivity of mobile

phone.
13

Android

Karch, M. (2019, January 19), indicated that Android was developed by

Google and it is a Linux-based mobile phone operating system. Android OS

currently have 9 versions. The first two versions are Android 1.0 and 1.1 released

without specific code names. List of android version code names are based with

candy or dessert style. Android versions 6 and lower versions are not supported to

read QR codes unless they are using a specific application. As stated by the website

of IBM that Android version 7.0 Nougat below doesn't support the QR code based

activation.

Lollipop

According to Raphael, JR. (2018, August 7), Android 5.0 Lollipop

released in 2014 by Google. Added a new features including voice control

via “OK, Google” command, and better notification management. Android

Lollipop improved security, as long as the device is protected by password

data will not accessible.

Marshmallow

According to Carlon, K. (2016, April 15), Android version 6 makes

Google services easier to use, and added an advance feature. Android

Marshmallow is more likely improved than Lollipop in terms of batter life,

features, and performance. Android version 6 introduces fingerprint

support via new fingerprint API.


14

Nougat

Android version 7 Nougat was released on 2016. As Cipriani, J.

(2016, August 22) stated, Android Nougat is having a lot of new features

and refinements. There are some changes that is quite obvious such as

bundled notification. Improved application switching speed by double

tapping the recent button, and it will instantly open last application. Once

the user gets used to it, it’ll be a real time saver. Google is officially added

support two apps at the same time features to all devices running Android

7.0 and other higher versions.

Oreo

As Kumawat, DC. (2017, September 8), stated Android 8.0 Oreo is

stable, upgraded features and more functional compared to the lower

version of android operating systems. Android O added many new APIs

which makes it more flexible and added new interesting features to make it

easier to access. It introduced new Bluetooth audio enhancements in

wireless connectivity.

Pie

Android version 9 Pie was released on early August 2018. Based

on the article of Bohn, D. (2018, August 16), This latest version of android

introduces new gesture navigation system on the new system which replaces

Android Back, Home and other multitasking keys with home button. This

new gesture system works completely but it is complicated. Android 9


15

improves its privacy and security, and has a useful new touch fingerprint

sensor.

IOS

According to Nations, D. (2018, September 5), IPhone mobile devices used

an Apple's Mobile operating system also known as iOS. iOS used a simple gesture

to operate the mobile device, such as zoom out and in and etc. On the Apple Store

the Phone user can download many applications they need. Apple added features

on the operating system such as multi-tasking split view. iOS had the protective for

each application they had in the Apple Store.

As cited to Costello, R. (March 11, 2016), APK files are for android OS

only that won’t work to iOS because the codes are different. Must re-write the code

to be able to run in iOS and re-compiled it in XCode then transfer into jailbroken

iPhone. Rewrite on your own and make sure that it has no bugs.

Windows Phone

Rouse, M. (2015, August), mentioned that Windows Phone is one of the

Smartphones Operating system chose by the branded phone. The User Interface

that uses Windows Phone is Metro derived, it is a tile-like interface like desktop

systems. The home button of the phone is like the start of a desktop system. User

can find and downloads apps at the Windows Phone Marketplace. The Windows

Phone have the features of the Cortana just like Windows Desktop, in search engine

they used Bing and It have the threaded messaging. The Phone that have the

Windows phone OS is most Nokia such as Nokia Lumia.


16

Programming Language

Based on the article of Christensson, P. (2011, September 23), A programming

language is a set of instruction use to create a standard form of commands. The commands

are converted into a code that is recognized by the machine. There are two types of

languages that programmers use to write a code, the high-level languages and low-level

language. The high-level languages use a logical words and symbol that are used in major

programming languages low-level language is an assembly language contains basic

instructions and more difficult to read than a high-level language.

Python Language

According to the article of Lukaszewski, A. (2018, May 18), “a general-

purpose programming language that commonly used in any modern computer

operating system is called Python”. It can be used for processing text, numbers,

images, and scientific data and used daily in the operations of the Google search

engine, the video-sharing website YouTube, NASA and the New York Stock

Exchange. Python plays important role for government, non-profit organizations

and businesses. Python is an interpreted language that is not converted to computer-

readable code. Python is kind of language also called scripting language used for

trivial task.

SQL

As cited to Rouse, M. (2016, September), SQL stands for "Structured Query

Language," it is used by database administrators and developers writing data scripts

and data analysts. SQL was first developed in early 1970s at IBM by Raymond
17

Boyce and Chamberlin. This query language is used to update, query, insert, and

manipulate data.

Java Programming Language

As stated in the article of Leahy, P. (2018, April 09), early 90’s, Java

originated from the name of Oak and then Green, created by the team led by James

Gosling for Sun Microsystems, and now owned by the company Oracle. It was

designed for the digital devices such as mobile phones. In 1996 the Java 1.0 was

released to the market, its goal was shifted to use the internet to interact with the

user, as a way to give the developers to produce an animated web pages.

Java is a computer programming high-level language that enables the

programmers to write computer instruction using English-based commands. Java

has a set of rules that determine on how the instructions are written. These rules

are also known as syntax. When the program has been written, the high- level

language instructions are translated to a numeric code to understand and execute by

computers.

JSON

JavaScript Object Notation or JSOS is based on a subset of the

JavaScript Programming Language, Standard ECMA-262 3rd edition –

December 1999. As Crockford, D. (n.d.) stated, “JSON is a lightweight

data interchange format, it is a way to store information in an organized,

easy-to-access manner”. It gives a human-readable collection of data that

can be access in a really logical manner. JSON is a text format that is

completely language independent. It is familiar to the C-family of


18

languages including C, C++, C#, Java, JavaScript, Perl, Python and many

others. These languages make JSON an ideal data-interchange language.

JSON is built on two structures; Object, is the collection of name/value

pairs, and array is an ordered list of values. These two are universal data

structures. All modern programming languages support each other in one

form or another.

NetBeans IDE

According to Oracle Technology Network, NetBeans IDE is a free

and open source IDE for developing an application on Windows, Mac or

Linux. It simplifies on development of enterprises, desktop and mobile

applications that uses Java language and HML5 platforms. It also offers

support for development of PHP and C/C++ applications. (What does

Netbeans mean?, n.d.).

NetBeans is an Integrated Development Environment that uses Java,

C/C++, PHP and other programming languages to develop an application.

It is also referred as a platform of modular components that used for

developing of Java Desktop Application. To enable software development,

NetBeans uses components also known as Modules. It allows the user to

download the updated features and upgrades. NetBeans IDE module

including the Profiler, a Graphical User Interface (GUI) design tool, and

NetBeans JavaScript Editor.


19

PHP

PHP is an open-sourced scripting programming language it is especially

used on web development and embedded to HTML. The best thing in using PHP

language is that it has many features for developers and it is extremely easy for a

beginner. It is favorable to use PHP language instead of using lots of command in

HTML because PHP language already contain HTML with embedded code on it

(What is Php?, n.d.).

Database Software Program

Database software is used to protect the information and ensure the accuracy and

the consistency. The functions are data storage, data backup and recovery, data

presentation, multi-user access control, data security management and database

communication. Database management software (DBMS) is a software where the data can

be stored and manage. (Database Software 101, n.d.)

Oracle

Oracle is one of the relational database management system (RDBMS). It is

originated by Lawrence Ellison and the other developers in 1997. (Oracle Database (Oracle

DB), n.d.). The purpose of the oracle is to store and retrieve the data. It is designed for

enterprise grid computing. It has a physical and logical structure but it is separated to avoid

the damage accessing the logical structures while managing the data on the physical

storage. (Oracle Database Online Documentation, 10g Release 2 (10.2), n.d.).

Microsoft Access

Ian (2016, June), indicated that Microsoft developed the Microsoft Access,

it is also a relational database management system (RDBMS). It is easy-to-use due


20

to its graphical interface that suited for the individuals and small business. It uses

the Jet Database Engine for data storage.

Microsoft Excel

Sartain, JD. (2017, Nov), stated that Microsoft Excel is a spreadsheet

developed by Microsoft for Mac OS and Microsoft Windows. It performs a basic

calculation, use graphing tools and displays data using different statistical tools. It

is a database in terms of collection of data or items (spreadsheet) and can create a

single record (row) and for multiple records (table) but not a relational database

management system.

Microsoft SQL Server

As cited to Stedman, C., Hughes, A., and Rouse, M., (n,d) Microsoft SQL

Server is a relational database management system (RDMS) it support a variety of

transaction processing business intelligence and analytics applications in corporate

IT environment. Microsoft SQL Server is one of the market-leading database

technologies, along with Oracle Database and IBM's DB2. It is built on top of SQL,

a standardized programming language that database administrators (DBAs) and

other IT professional used to manage databases and query the data that they contain.

MongoDB

According to Rouse, M., Botelho, B., and Voughan, J., (n,d) MongoDB is

an open-source Data base Management System (DBMS) that support various forms

of data that used a document-oriented database model. Under of the NoSQL banner

it is one of the numerous non-relational database arose in mid-2000s that uses big

data application and other processing jobs that involves data that doesn't fit in a
21

relational model. MongoDB architecture is made for documents and collections of

data instead of using tables and rows.

MySQL

Based on the article of Christensson, P. (2007, March 6), My SQL is an

open source relational database management system, it is pronounced as “My S-Q-

L” or “My Sequel”. This type of programming language is used for adding,

removing, and modifying information in the database. The standard commands for

SQL are ADD, DROP, INSERT, and UPDATE. It is most commonly found on

Web servers, which can be used for a variety of applications. The website uses

MySQL are often referred to as “dynamic”, meaning the content of each page is

generated from a database as the page loads.

GUI

Late 1970s when Graphical User Interface was created by Xerox Palo Alto.

Graphical User Interface is developed for users that wanted to interact with electronic

devices such as computers, hand-held devices and other appliances. Graphical User

Interface is commonly used in Windows, Mac OS and many software applications. GUI

uses icons, menus and other visual indicator representations to display information and

related user controls, unlike text-based interfaces that uses text in data and commands.

Graphical User Interface is manipulated by pointing device such as mouse, trackball, stylus

or finger on a touch screen. GUI became apparent because of the first computer text

interface was through keyboard text creation called prompt.

Visual Language has evolved to Graphical User Interface and become

commonplace in both Operating Systems and Software Applications. Human interactions


22

to computer are constantly being revised and reinvented. Human ingenuity has brought

users from the keyboard to the mouse, trackball, touch screens and voice commands. Even

those people with few computer skills can now use computer for word processing, finances,

inventory, design, artwork, hobbies or other hand-held devices with the help of Graphical

User Interface or GUI (What is Graphical User Interface n.d.). In Figure 7, Graphical User

Interface is shown.

Figure 7. Graphical User Interface


23

API

As mentioned by Beal, V. (n.d.), an API or Application Program Interface is a set

of protocols, routines, and tools for building software applications. Basically, it specifies

how software components should interact. It is a software-to-software interface, not a user

interface. With APIs, applications talk to each other without any user knowledge or

intervention. APIs are commonly used when programming graphical user interface (GUI)

components. API is released by Software Company to the public so that other software

developers can design products that are powered by its service. A programmer can say it

is a good API if it’ll help the programmer in developing a program by providing the

building blocks, and then a programmer will put the blocks together. There are many

different types of APIs for applications, websites or operating systems. Some examples

are Google Maps API, YouTube APi, Flickr API and Twitter API.

Apache HTTP Server

Apache is developed and maintained by Apache Software Foundation, it is the most

widely used web server software. It is open-source software that can freely access by

everyone. It is fast, reliable and secure that runs 67% of all the webservers in the world.

According to Mitchell, B. (2018, October 18), Apache was originally designed for Unix

environment were more than 90 percent of installations run on Linux. It promotes various

free and open-source advanced web technologies. It provides full range of features

including SSL, CGI and Virtual Domains, is also support plug-in modules for affability.

Hypertext Transfer Protocol (HTTP) is a protocol used by the web server to deliver

its content. The most significant benefit in using the Apache HTTP Server is that it is free

for both personal and commercial uses so the users don’t have to worry about needing to
24

pay for it. Apache is also actively maintained, frequently its features are upgraded, and

undergoes security patches and vulnerability improvements. It also has a very reliable

software framework.

HTTP Requests

Based on the article of Janiak, P. (2011, February) HTTP Request is an

Information Request message from the Client sent to Server over HTTP. It is a

packet of Information used to communicate to other computer from the other

computer. This protocol used by Browser to send data such as text and images

between web server and a computer. In order to deliver the text, images and page

to your browser it needs a request to fetch the transferred data and a HTTP Request

is the exact software to do that. Then, the server will response if the permission was

given or not.

Laravel Framework

As cited to Smith, R. (2018, June), 2 Laravel web development is a PHP framework

that has been built with the focus to write computer code which is simple and expensive as

well. It is highly used and it is freely available in the modern web application framework.

It is well known to have been used in creating personalized web software in a quick and

efficient way. It has a structure that provides the capability to choose and create a program

on it. Framework helps to figure out how a developer shape a software and how it is

connected with different Application program Interface or API.

Laravel Framework is a PHP Framework. PHP is a well-known in developing

Software, it is a globally used scripting language. Laravel web development possesses a

large ecosystem that has instant hosting as well as the deployment system. The latest
25

Laravel design has a validation code that reduced the time taken by the coders to create

codes. One of the features of Laravel Framework is the Blade templating engine, it enables

the composer of the plain codes PHP in a layout shape hence improving execution of usage

difficulties. Laracast is also a feature of Laravel Web development and it is the key

learning tool for Laravel Framework.

Laravel Framework uses Fly-system for local support network feature for different

document services. It is a cloud based inventory that is created closer to cloud-based

platforms. For security, Laravel web development used hashed (#) passwords and does not

save the password in a plain text form, it provides a unique way for security for the web

application. Furthermore, the algorithm in creating encrypted passwords uses Bcrypt hash

algorithm.

Android Studio

As eloquently stated by Rouse, M. (2018), android studio is the official integrated

development environment (IDE) for android application. Android Studio uses a Gradle-

based build system, emulator, code templates, and GitHub integration to support

application development within the Android operating system. The projects in Android

studio have one or more modalities. These modalities include Android app modules,

library modules and Google App Engine modules that has source code and resource files.

Android Studio is based on the IntelliJ IDEA, a Java integrated development environment

for software, and incorporates its code editing and developer tools.
26

QR Code

The term QR means "Quick Response”, it is invented by the Denso Wave a

Japanese corporation. The popularity of barcode has been overtaken ever since the QR

Code had been introduced. Technically, both barcode and QR code have the same function

but because of it different capacity of holding digit the QR code becomes more appealing

compared to the barcode. A typical barcode can hold a maximum of 20 characters while

QR code can hold up to 7,089 characters. QR code can be scanned into different angle,

there is no specific positioning in scanning the code because QR code reader is capable of

correcting and decoding the image owing to the three specific squares that can be seen on

the corner of the symbol, (Kieseberg, P., Leithner, M., Mulazzani, M., Munroe, L.,

Schrittwieser, S., Sinha, M., & Weippl, E., 2010). In Figure 8, the QR Code is shown.

Figure 8. QR Code
Retrieved from https://nadhika.wordpress.com/2010/11/15/kode-qr-quick-response/
27

QR Code Scanner

QR Code scanner is equipment used to scan QR Codes that will decodes the

characters or the information and transfer it on Phones or PC so that the user can

read the information. The QR Codes have Finder Pattern also called the Position

Markers or Position Eyes. It’s in the three corners of the QR code. These corners

will help the scanner to find the edges of the QR Codes. In Figure 9, the QR Code

Scanner is shown.

Figure 9. QR Code Scanner


Retrieved from https://www.lazada.com.ph/products/aibecy-omnidiretional-barcode-scanner-platform-
1d2dqr-bar-code-scanner-reader-presentation-with-usb-interface-intl-i160860378-
s196548686.html?spm=a2o4l.searchlist.list.1.2c7f4955GtjDh3&search=1
28

RTC

According to Rousse, M. (2005), Real-time clock is a battery-powered clock

comparable to the CMOS (complementary metal-oxide semiconductor) battery in a

computer motherboard. RTC has a small memory on its microchip that stores setup values

or system description including the current time. The time values are classified for the

year, month, date, hours, minutes, and seconds. When the computer is turned on, the Basic

Input-Output Operating System (BIOS) that is stored in the computer's read-only memory

(ROM) microchip reads the current time from the memory in the chip with the real-time

clock. In Figure 10, the Real-time clock is shown.

Figure 10. Real-time Clock


Retrieved from http://osoyoo.com/2017/09/12/arduino-lesson-real-time-clock-rtc-module-ds3231/
29

Raspberry pi

Raspberry Pi is a credit-card sized computer invented by Eben Upton it is originally

designed for education which is inspired by the 1981 BBC micro. Upton aimed to create

a low-cost device that would help to improve programming skills as wells as understanding

hardware at the pre-university level. Because of its small size, tinkerers, makers and

electronics enthusiasts easily adapted RPi for projects that require more than basic

microcontroller similar to Arduino Devices (What is Raspberry Pi, n.d.).

Although the raspberry is slower that the modern laptops and desktop computers,

it is still a complete Linux computer and can perform tasks with a low power consumption

level. Similar to average computers, RPi needs an operating system, mostly designed for

Linux systems. Raspbian which is based on the Debian operating system, Ubuntu Mate

from Ubuntu, and Pidora, based on the Fedora operating system are examples of the most

common operating systems for the Pi. Depending on the model, RPi has a several USB

ports for peripherals and General Purpose Input/output pins for project development.

Raspberry Pi 3 Model B

The Raspberry Pi 3 is the third generation Raspberry Pi. It replaced the

Raspberry Pi 2 Model B in February 2016. It has the same identical form factor to

the previous Pi 2 and Pi 1 model B+. Raspberry Pi 3 Model B has an additional

features 10 times faster than Raspberry Pi Model B and Raspberry Pi 2 Model B.

This version has 1.2 GHz 64- bit quad-core ARMv8 CPU, 1GB RAM enough to

run applications and programs. Raspberry Pi 3 supports 802.11 wireless LAN and

Bluetooth 4.1. The recommended power supply for the RPI 3B is the official power

supply which is rated 5.1v, 2.5A (Raspberry Pi 3 model B, n.d.).


30

Based on the article Power Consumption Benchmarks (n.d.), the peak

power consumption of the Raspberry Pi 3 model B under heavy load is about 730

mA. In Figure 7, the Raspberry pi is shown.

Figure 11. Raspberry Pi 3 – Model b


Retrieved from https://www.indiamart.com/proddetail/raspberry-pi-3-model-b-11473622873.html
31

Raspberry pi Capacitive Touch Screen

Gus (2015), stated that the First official screen for the Pi is Raspberry Pi

touchscreen display. It communicates over GPIO or DSI port. Raspbian isn’t a

touch-friendly operating system. In Figure 8, Raspberry Pi Capacitive Touch

Screen is shown.

Figure 12. Raspberry Pi Capacitive Touch Screen


Retrieved from https://www.meiyagroup.com.tw/product/
32

Raspberry Pi Operating System

Raspberry Pi NOOBS

The Raspberry Pi itself doesn’t come with an Operating System. For that

reason, the users of the RPi need a NOOBS or “New Out of the Box Software”.

These OS are downloadable, it can easily install and set up in the Raspberry Pi.

The availability of the different OS of the Rpi depends on the model of the

Raspberry Pi. There are lots of existing OS for Rpi, but the most common OS for

Raspberry Pi are Raspbian, Ubuntu Mate, Windows 10 IoT Core, RISC OS and

OSMC.

Raspbian OS

Raspian OS is one of the official operating systems available for free to

download and use. The system is based on Debian Linux and is optimized to work

efficiently with the Raspberry Pi computer. As we already know an OS is a set of

basic programs and utilities that runs on a specified hardware, in this case the Pi.

Debian is very lightweight and makes a great choice for the Pi. The Raspbian

includes tools for browsing, python programming and a GUI desktop. The

Raspbian desktop environment is known as the “Lightweight X11 Desktop

Environment” or in short LXDE. This has a fairly attractive user interface that is

built using the X Window System software and is a familiar point and click

interface. We shall look more into how to install and use this OS in the next section

(Basavaraju G. n.d.). In Figure 13, the Raspbian OS is shown.


33

Figure 13. Raspbian OS


Retrieved from https://www.instructables.com/id/HOW-TO-INSTALL-RASPBIAN-OS-IN-YOUR-RASPBERRY-PI/

Ubuntu MATE

As cited to Ubuntu-mate.org, Ubuntu MATE is a stable, easy-to-use

operating system that can run into different platforms. It features configurable

desktop environment and is ideal for people who want the most out of their

computers. It has modest hardware requirements that make it suitable for modern

workstations, single board computers like the Raspberry Pi and older hardware

alike. Ubuntu MATE makes modern computers fast and old computers usable. In

Figure 14, the Ubuntu MATE is shown.


34

Figure 14. Ubuntu MATE


Retrieved from http://whitesimgq.pw/Mark-Shuttleworth-reveals-Ubuntu-1804-LTS-codename-check-out.html

Windows IoT Core

Windows 10 IoT Core is built for Raspberry Pi, it is a special version of

Windows. It is only compatible with Windows 10. Its platform is to develop an

OS for coders and programmers into prototype internet connected devices using the

Raspberry Pi and Windows 10. It is a free version Operating system designed for

low-power devices, it will act as a bridge between windows devices and Raspberry

Pi. In Figure 15, the Windows IoT Core is shown.


35

Figure 15. Windows 10 IoT Core


Retrieved from https://lifehacker.com/the-best-operating-systems-for-your-raspberry-pi-projec-1774669829

RISC OS

RISC OS is initially designed in 1987 and has roots in the BBC Micro. It

doesn’t have a lot in common with other operating systems like Linux, OS X or

even Windows. It is much simpler than the modern operating systems. It is

designed for a single-user system only, the directories with an exclamation point in

front is its application. It is also into drag and drop. RISC OS doesn’t much in the

security. Most people say RISC OS should not be installed, because RISC OS

cannot really use as the primary operating system. One of the reasons is because it

doesn’t work like any other operating system available right now. Basically, it’s a

baffling operating system, but it’s fascinating nonetheless. In Figure 16, the RISC

OS is shown.
36

Figure 16. RISC OS


Retrieved from https://lifehacker.com/the-best-operating-systems-for-your-raspberry-pi-projec-1774669829

OSMC

As mentioned in the article of Kiosowski, T. (2016), OSMC or “Open

Source Media Center” is a media center based on Kodi, the only difference of the

two is that OSMC is easier to set up and use. OSMC is probably the easiest to use

media center software available on Pi. OSMC features have a clean interface

compared to Kodi. It has its menu on the left side of the screen that lets the user

to select media (such as videos, music and pictures), dig into settings or check out

other programs. OSMC is tidy and self-explanatory. It also has presets for

several popular remotes. As for local media, the videos and photos can play from

USB storage. In Figure 17, the OSMC is shown.


37

Figure 17. OSMC


Retrieved from https://lifehacker.com/the-best-operating-systems-for-your-raspberry-pi-projec-1774669829

The Design and Development of Real-Time E-Voting System in Nigeria with

Emphasis on Security and Result Veracity

As indicated on the study of Shafi’í, M. (2013, April), Elections is the key of

mainstay democracy around the globe, and voting ensures the sustenance of democratic

system in any civilization. The veracity of democratic system is primary to the veracity of

the election itself. This research comes to the platform to propose an electronic voting

system that will place democracy to the path of success. Overall this research seeks to

increase the efficiency of voting process. This electronic voting system is carefully planned

and implemented so that it can bring free and fair election.

Online Election System - A proposed election system for Pakistan

As cited on the research of Aziz, A. (2011), Democracy has been an important part

of modern societies. Election of representatives is one of the important activities in a

democratic country. This research discusses some problems in Pakistan. And a software
38

solution that will help to solve the problems. This research designed an online voting, with

KIOSK software, online registration and database connected with NADRA.

Philippines Smart App Voting System a Mobile Voting System

The research of Abamo, J. (2016) stated that Voter chooses the candidate that they

believe or trust, hoping that it will help them to make a difference and help the country to

progress. One of the complaints of the voters is the security in vote counting. In the

Philippines, voters think that PCOS machine is not efficient to use in an election due to the

long preparation of printing of ballots and unsecured transfer of data for tallying the votes.

This research proposed an application. That will help to improve the national and local

elections. This research aims to lessen the waiting time of the voters in the precinct just to

vote. The researchers of this project proposed a mobile voting system as the solution for

these problems.

Online Voting System

Based on the research of MIHIR (n.d), online voting is a web-based that lessen the

works of the officials and helps them to manage the election day easily and securely. In

this system they can use their personal computers to vote, but they must fill out a

registration form and the voter receives a secret voter ID used to log in. After registration,

a link sends to the E-mail IDs. The link is the key to activate the account of the user and

the site activated only on the polling day. When they login, the One-Time Password (OTP)

is provided before choosing their preferred candidates and the password eliminated after

submitting their votes and the votes automatically stored to the database. A proof sent to

the respective E-mail IDs. The advantage of this project is to eliminate the errors in

counting the votes, it can reduce congestion and easily find out the leading candidates.
39

E-Voting System Using GSM Mobile SMS

As studied by Sidqi, H. (2014), “the manual voting process can be tedious, prone

to errors, and costly”. In some cases, the ballot papers polled need to recount due to

discrepancies. This electronic voting uses GSM mobile technology, provide enhanced

voter authentication and maintaining voter privacy. In this research SMS is used to send

message which contains code or the identification of the candidate, on the other hand

mobile phone is used to send message and it is connected to a server to collect messages.

With this electronic voting system security is compromised, inability of human error, and

provide efficient security needed.

Online E-Voting Prototype System with Paillier Threshold Cryptosystem Web

Services

According to the research project of Evecek, H. (nd.), The online e-voting is a

prototype using the Paillier Threshold Cryptosystem(PTC). PTC is a public key to

asymmetric algorithm published by Paillier, P. This cryptosystem allows to do a simple

addition operation that the encrypted value can be decrypted, this property called

homomorphic property. Self-binding is another property where the cipher text can be re-

encrypt without changing the real key pair and the underlying clear text. In short, PTC

Web Services is used for the encryption and decryption process. Secret sharing schemes,

protecting voter’s privacy and the design of voting protocols, these useful characteristics

is needed to have a better efficiency.

Secure Mobile based E-voting System

The E-voting system is a voting system that uses electronic devices. On this project, it

defines how efficient the mobile phones used in voting. This system supports a
40

simultaneous voting due to the distributed nature database. The voter will register once

and it need to cast the votes without going to the vote cells. The registration should be

done at the Booth Application and the voter can vote from the mobile devices together in

their respective location. It ensures the voter confidentially and voting accuracy based on

their unique Identification ID Number. The online solution is very effective and useful

about the information of the voters and the committee made an availability to the voters on

this proposed system (Akhare & Gadale, 2016).

E-voting system using QR code and Mobile OTP based on Android platform for

modern individuals

Based on the research of Sangale, S. and Shinde, S. (2014), Electronic voting

system is known for its efficiency and a trusted tool for electoral process on its management

system. E-voting needs a proper implementation to increase the security of ballot to make

the voting easier and speed up the processing of result. The modern technology has

developed the mobile devices, wireless, android technologies and data communication that

will help the voting process to be easier and efficient. This project design and implement

an e-voting system using QR Codes and Mobile OTP for authentication at its maximum

security. It cannot only make sure the voters identity but also ensure the eligibility of

candidate registration for voting. The OTP or One Time Password is generated and

provided to the voter via authentication of SIM card. This project provides 3-way

authentication. The Quick Response (QR) code is generated from Session password. The

Visual Cryptography (VC) is performed on QR code. The Digital Signature is used for

validation of OTP and Session password. The platform of this e-voting system is Android,

today’s most popular operating system and well known to users.


41

On the basis for the foregoing concepts, theories and findings of related literature,

studies presented and the insights taken from them, has contributed for the

conceptualization of this study. The researchers are developing the traditional way of

voting into an electronic voting system. The related literature provided knowledge

significant for this project particularly the Direct recording electronic voting machine, this

voting machine has no ballots the possible choices are visible to the voter in front of the

machine. Also the votes are recorded automatically. The related literature also helps the

researchers in terms of the different components that can help to make this project possible

up to the different software-based that can help the researchers of this study. The researcher

decided to use the most favorable OS among all the existing OS of raspberry pi which is

the raspbian jessie. Also the related studies give insights and additional ideas to the

researchers, like the existing project of mobile based e-voting system, for how this projects

will be developed through technology.

Conceptual Model of the Study

Figure 14 shows the conceptual model of Development of RPi Voting System used

for Student Government Election using Mobile phone application that interacts with

Raspberry Pi, and QR code scanner. The input for developing the prototype consists of

three groups; knowledge requirement, hardware, and software requirements. Knowledge

requirements are the skills essential to accomplish the fabrication of the project, hardware

requirements are the components for developing the prototype, and software requirements

are the computer application needed for the development of the prototype.

Process is the steps done in order to accomplish the project. The first step is the

designing and conceptualizing the design of the prototype. Next step is to create the
42

program according to its software features and the assembly of the prototype. Upon

finishing, the initial project test is conducted to determine the problems and errors to be

encountered. These problems and errors will undergo troubleshooting procedure to be

modified if necessary.

The output is the Development of RPI Voting System for Student Government

Election. After the test and experimentations, the prototype is evaluated according to

different criteria. The prototype be evaluated by the evaluators who are considered experts

on their field and the beneficiary of the project. The prototype will be evaluated according

to its functionality, aesthetics, workability, durability, portability, economy, safety, and

salability.

INPUT PROCESS OUTPUT

Knowledge requirements
1. Programming language
2. Basic Electronics
3. Voting Process
Hardware requirements
1. Raspberry pi 3 model b 1. Fabrication of DEVELOPMENT
2. LCD (3.5”) Hardware
3. QR scanner OF RPI VOTING
4. RTC Module 2. Programming
Software requirements SYSTEM FOR
1. Raspbian OS
2. Mobile Application 3. Test the TUPC USG
3. Java prototype
ELECTION
a. JSON
b. NetBeans IDE
4. MySQL & SQL
5. Laravel Framework
6. Android Studio
7. Apache HTTP Server

EVALUATION

Figure 18. Conceptual Model of Development of RPi Voting System for Student
Government Election
43

Operational Definition of Terms

RVS stands for Raspberry Pi Voting System

Raspberry pi 3 model B is the main and the registration host on the project

Raspberry pi 3 capacitive touch screen is a device used to display the GUI of the

project

Raspbian OS refers to the operating system that supported by the raspberry pi

QR scanner refers to the verification of the voter to access the mobile application

QR code refers to the identification of the voter

RTC is the device used to keep the real-time clock of the main server

API is the tool used to communicate various components and process the overall data

HTTP Requests is the type of request that allows by the API

Apache HTTP Server is the server software for the management of the API

Mobile application is the application that enables the voters to vote

MySQL is the programming language for adding, accessing and managing content in a

data base on the project

SQL is the language to manage the data in the database

Java is the programming language used for the web-based interface of the project

JSON is the data format used by the API to response to the different application

NetBeans IDE is the IDE for local and main server, Java language

GUI or (Graphical User Interface) is the type of interface that allows users to interact

with electronic devices through graphical icons and visual indicators

Laravel Framework is the Framework used for API, PHP language

Android studio is the IDE for developing the android application, Java language
44

Chapter 3

METHODOLOGY

This chapter includes discussion of the project design, project development,

operation and testing procedure and the evaluation procedure.

Project Design

This project for electronic voting system is composed of Raspberry Pi 3 - Model B

which will be the main component of the prototype or project that will process the data in

registration of the voters as well as calculate the overall results, and a QR Scanner is needed

to scan the QR code that will generate the RPi in order for the voters to access the mobile

application. Figure 19 shows the isometric view of RPi voting system. The main parts are

Raspberry Pi 3 Model B and a QR Scanner.

Figure 19. Isometric Drawing of the RPi Voting System


45

Figure 20 shows the exploded view of the raspberry pi voting system. The QR

code scanner is enclosed in box type casing that will function to scan the QR code of the

voter, it is connected to raspberry pi. A Liquid Crystal Display is also connected to the RPi.

The figure shows each portion that will complete the casing.

Case

QR
Scanner
RPi

Screen

Figure 20. Exploded Drawing of RPi Voting System


46

Figure 21 shows the main cycle of the prototype. The admin needs to register first,

and followed by the registration of voters by scanning the QR code and it will be stored on

the server. Then voter can now install the mobile application. An admin will input the list

of bona fide candidates’ together with their information to be stored to the server. An

admin will set the scheduled time for voting and the server will allow the voter to access

the mobile application. To access the mobile application, the voters must scan the QR code

using the device camera to login and the server will check if the QR code is already

registered to the database. The next process of the program wherein the voters will start to

choose their preferred candidates then submit. After the voters submit their votes the

summary of votes will appear. The database will accept the incoming data and will update

automatically to calculate and display the overall results.

INPUT THE LIST


ADMIN OF BONA FIDE
REGISTRATION CANDIDATE VOTE USING DISPLAY
AND AND SET THE THE MOBILE OVERALL
VOTER SCHEDULE OF APPLICATION RESULT
REGISTRATION POLLING
HOURS ON
SERVER

Figure 21. Block Diagram of RPi Voting System


47

Project Development

The process of fabricating this project can be shown in this section. The prototype

is composed of hardware components and software components.

For hardware components:

1. Purchase components such as RTC module, QR code scanner and Raspberry Pi 3

model B

2. Check purchased device if working

3. Connect the purchased components to Raspberry Pi

4. Fabricate acrylic glass case (4.3”x6.8”x3”)

5. Assemble project in the fabricated case

For software components:

1. Create GUI using Java for registration host

2. Create database using MySQL

3. Create mobile application using Java and Android studio

Figure 22 explains the process of creating an account of an admin by using flow

chart diagram. To create an account or register, the admin must click the “register” button

and input the needed details or information. If the user pressed the “submit” button the

system process and check the entered details. Hence if the user pressed the “cancel” button,

the system cancels or closes the registration page.

The system checks if all the text boxes are filled out. If no, the system displays an

error message and let the user to input the needed information. The system also checks if

the name has a numeric character. If it has a numeric character the system displays an error

message and let the admin input the name again. The system also checks if the password
48

is at least 6 characters. If the password is not at least 6 characters, the system displays an

error message and let the admin input the password again. Also the system checks if the

password is the same to the confirm password. If the password is not equal to the confirm

password, the system displays an error message and let the admin input the password and

confirm password again. Hence, the system checks the database if the position is already

taken. If the position was already taken, the system displays an error message and will let

the admin to select an available position. The data automatically stored to the database

and automatically log out and displays “You have successfully registered” message.
49

Figure 22. Flow Chart for creating an account of an Admin


50

Figure 23 shows the process of account log in of an admin and exporting the

summary of votes and voters through pdf form by using flow chart diagram. Admin must

input their username and password. If the admin clicked “submit” button the system checks

if all the needed information was filled up. The system checks on the database if the

username and password are correct. Hence if the textboxes are not filled up correctly the

system displays an error message and let the user to return to the log in page. When the

admin is logged in, the system displays the overall results during and after the polling day.

Also the admin can now export the files through pdf form. If the admin clicked the “export

summary” button, the summary of votes downloads automatically. And if the admin

clicked the “export voters” button, the list of registered voters downloads automatically.

And when the admin is done or the admin didn’t click any button, the admin remains to the

home page or can now log out.


51

Figure 23. Flow Chart of Account Log in of an Admin and Exporting the Summary of

Votes and Voters through PDF Format


52

As shown on the figure 24, it explains the process of editing the details of an admin

account by using flow chart diagram. To change the details or the information of the admin

account, the admin must click the “edit my info” button and input the designated details

that admin wants to edit or change.

If the admin clicks the “cancel” button, the system closes the “edit my info” page

and the admin returns to the main or home page. Hence if the admin pressed the “update”

button, the system checks if the name has a numeric character. If it has a numeric character,

the system displays an error message. If it has no numeric character, the system checks the

details on the database.

The system also checks if the password is correct. If it is incorrect the system

displays an error message and let the admin to input the password again. The system also

checks if the current password is at least 6 characters. If the password is not at least 6

characters, the system displays an error message.

The system also checks if the new password matched to the confirm password. If

the new password and confirm password is not matched, the system displays an error

message. Hence if the current password and confirm password is matched, the data updates

and stores to the database. The system displays “The information updated” message.
53

Figure 24. Flow Chart of Editing the Details of an Admin Account


54

Figure 25 shows the process of managing the admin accounts by using flow chart

diagram. To manage the accounts of the admins, the admin must click the “manage admin

accounts” button. The system displays the list of the admin accounts. If the admin clicks

the “close” button the “manage admin account” page closes and the admin returns to the

home page.

If the admin pressed the “delete” button, the admin must input the password on the

particular admin account. The system checks the database if the password is correct. If

the password is not correct, the system displays an error message. Hence if the password

is correct, the particular account is deleted to the database.

Figure 25. Flow Chart of Managing of an Admin Accounts


55

As shown on the figure 26, it explains the process of managing the polling hours

by using flow chart diagram. To set the polling day, the admin must click the “manage

polling hours” button. The system checks if there is an existing record of polling time and

date. If the system has a record, the system displays the records of the polling date and

time. If the admin pressed the “delete” button, the system deletes the existing record of

polling time and date to the database. Thus if the admin did not click any button the admin

remains to the “manage polling hours” page.

If there is no existing record for polling date and time, the system displays “no

record found” message. If the “close” button was pressed the “manage polling hours” page

closes and the admin returns to the home page. The admin can add or set the polling hours

by entering the preferred date and time. If the admin pressed the “add” button, the system

checks if the needed information were filled up. If the textboxes are not filled up, the

system displays an error message and let the admin to enter the polling date and time again.

If all the needed information was filled up correctly, the system stores the data to the

database.
56

Figure 26. Flow Chart of Managing the Polling Hours


57

Figure 27 shows the process of creating a party list by using flow chart diagram.

At the “candidates page”, click the “add party list” button. To create a party list, type the

name of the party list. If the admin pressed the “add party list” button, it adds and stores

the data to the database and the system displays the list of the party list. Hence if the admin

clicks the “cancel” button the “add party list” window closes and the admin returns to the

“candidates” tab.

If the admin deletes a particular party list, the admin must click the “delete” button.

The system displays a warning message “deleting the party list will make every members

of the party list to independent” and the system ask if the admin wants to continue. If yes,

the system deletes the particular party list to the database. Hence if no the system displays

the list of existing party list.

If the admin deletes the entire party lists, the admin must click the “delete all”

button. The system displays a warning message “deleting the party list will make every

members of the party list to independent” and the system ask if the admin wants to

continue. If yes, the system deletes the entire party list to the database. Hence if no the

system displays the list of existing party list.


58

Figure 27. Flow Chart of Creating a Party List


59

Figure 28 shows the process of adding the bona fide candidates by using flow chart

diagram. To add a candidate, click the “add candidates” button at the “candidates” page.

The admin must input the information about the candidate along with the candidate photo

and other information such as the student number, name, the party list, section and the

position. Hence if the admin clicks the “cancel” button the “add candidates” window closes

and the admin returns to the “candidates” page.

The admin must click the “add candidates” button to add the candidate. The system

assesses first the information of the added candidate if it is all correct before storing it to

the database. The system checks if the photo size is valid. If the size of the photo is not

valid, the system displays an error message and the admin returns to the “add candidates”

window. Hence, if the photo is valid, the system accepts the photo and the data is

automatically added and stored on the database. After adding the candidates, the system

displays the updated list of bona fide candidates. If the admin clicks the “delete” button

the system deletes a particular candidate to the database. Hence, if the admin pressed the

“delete all” button, the system deletes all the candidates on the database.
60

Figure 28. Flow Chart of Adding the Bona Fide Candidates


61

As shown on the figure 29, it explains the process of setting the maximum number

of senators and governors to be voted by using flow chart diagram. The admin must click

the “set the maximum number of votes” button at the home page. Then input a number. If

the admin pressed the “submit” button, the system checks if all the information were filled

up and the number is greater than or equal to zero. If the text box or text boxes were not

filled up correctly, the system displays an error message and let the admin to input again a

maximum number. Hence if the needed information is correct the data is automatically

submitted and stored to the database.

Figure 29. Flow Chart of Setting the Maximum Number of Senator and Governor to be

Voted
62

As shown on the figure 30, it explains the process of registration of voters by using

flow chart diagram. To start the voter registration, the admin must open the software

application on the registration host then pressed “start” button to start. If the admin presses

the “close” button the application closes. Hence if the admin did not press the “close”

button, the admin can start the voter registration by scanning the admin QR code. The

system checks the database if the main server is open and if the QR code is a registered

admin. If the main server is not open and if the QR code is not an admin, the system

displays an error message and let an admin to scan the QR code again. Hence if the main

server is open and if the QR code is an admin, the system let the admin to access the voter

registration.

To register a voter, the voter must scan their QR Code on the QR code scanner.

After scanning the QR Code the textbox displays the details from it. But if the admin

presses the “clear” button, the details on display automatically erased and if the admin

pressed the “close” button, the application closes and returns to the starting page.

For the admin to register a voter the admin must click the “register voter” button.

The system checks if the QR code is valid and if it is already registered. If the QR code is

invalid the system displays an error message and if it is already registered, the system

displays the error message “Voter is Already Registered “and the admin must press the

“OK” button to close the window and the system let the admin scan other voters QR code.

Hence if the QR code is valid and if it is not yet registered the system process the

registration of voter and displays the “Successfully Registered” message then the admin

must press the “Ok” button to close the window and the data automatically save to the

database.
63

Figure 30. Flow Chart of Registration of Voters


64

As shown on the figure 31, it explains the process of RVS during voting by using

flow chart diagram. When the voter opens the application it displays a “Terms and

Condition” message. If the voter clicks “cancel” button the mobile application

automatically closes. Hence if the voter clicks the “confirm” button the voter can now use

the mobile application. If the voter clicks the “help” button displays the user manual and

by clicking the “ok” button the voter returns to the home page. To start voting, the voter

must scan their QR Code by facing their QR Code on the rear camera of the mobile device

and the system verify and check if the voter is registered to the database.

The system checks if the mobile application is connected to the voting network, if

not the mobile application displays an error message and by pressing the “ok” button the

voter returns to the home page. The system also checks if the mobile device mac address

reached the maximum allowed entries. If the mobile application of the mobile device was

used by the voters more than three times an error message displays and by clicking the

“ok” button the mobile application automatically closes. The system also checks if the

voter was already voted. If the voter already voted the mobile application displays an error

message and by clicking the “ok” button the mobile application automatically closes.

The system also checks if it is polling day. If not, the mobile application displays

an error message and by clicking the “ok” button the voter returns to the home page. Hence

if the polling day was set, the mobile application is enabled and let the voter vote and

choose their preferred candidates. When the voter exceeds to choose the maximum number

of senators and governors an error message is displayed on the mobile application. If a

voter pressed the "reset" button, the mobile application resets the chosen candidates and let

the voter to choose their preferred candidates again. If a voter pressed the “help” button,
65

the mobile application displays the user manual and by clicking the “ok” button the voter

returns to the voting page. To submit the votes, the voter must press the “submit” button

and the mobile application displays “vote submitted” message and when “ok” button was

click the data automatically save to the database. After submission, the mobile application

displays the vote summary of the voter. If the voter pressed “help” button again, the mobile

application displays the user manual and by clicking the “ok” button the voter returns to

the vote summary page.


66

Figure 31. Flow Chart of RVS during voting


67

Figure 32 shows the process of deleting all the registered voter by using flow chart

diagram. The admin must click the “voters” tab. If the admin wants to select the entire

register voter, the admin must click the “select all” button. If the admin wants to delete the

selected voter/s, the admin must click the “delete selected” button then the system checks

if there’s a selected voter/s to be deleted. If there’s no selected voter an error message

appears. Hence if yes, a confirmation message appears. If the admin wants to delete the

entire registered voter, the admin must click the “delete all” button then a confirmation

message appears. If it is not confirmed, the system remains on the “voters” page with the

list of all registered voter. Hence, if it is confirmed, the system deletes the entire registered

voters and its votes to the database.

Figure 32. Flow Chart of Deleting the Registered Voter


68

The specification of each hardware components in the prototype are identified in

this section.

Raspberry Pi

“Raspberry Pi” – Rpi 3 – Model B has 40 GPIO pins, 4 USB 2.04 Port, and 1GB

SDRAM of 400Mhz. It is maximum power draw/voltage and the maximum power is about

2.5 ampere and 5 voltages. Figure 33 shows the Raspberry Pi 3 Model B.

Figure 33. Raspberry Pi 3 Model B


69

QR Code Scanner

The Aibecy Omnidirectional Scanner is driver free, compatible for Linux, IOS,

Android, Windows, etc. It can scan with the speed of 1300 times, high decoding speed and

high accuracy. Excellent Decoding Ability. Dust-proof and water-proof, long service life.

Adapts 960*680 sensor. Figure 34 shows the QR Code Scanner.

Figure 34. QR Code Scanner


70

Memory Card

The SanDisk Memory Card has a quick transfer speed up to 80MB/s and

Waterproof, temperature-proof, X-ray proof, magnet-proof, and shock-proof. Exceptional

video recording performance with Class 10 rating for Full HD video (1080p). Figure 35

shows the Memory Card.

Figure 35. Memory Card


71

RTC Module

The RTC Module uses a DS1302 serial real-time clock (RTC) chip. It adopts the

universal 32.768kHz crystal oscillator. It uses button cell holder for LIR2032 rechargeable

Li-ion battery it also includes 5 pin anti-reverse cable and the operating temperature are 0

degree Celsius up to +70 degrees Celsius. Figure 36 shows the RTC Module.

Figure 36. RTC Module


72

The importance of choosing the right software and application used in the prototype

are stated in this section.

Raspbian Operating System

The Raspbian Operating System comes pre-installed with plenty of software for

education programming and general used. It has Python, Scratch, Sonic Pi, Java and etc.

Java

Java is used in a wide variety of computing platforms from embedded devices and

mobile phones to enterprise servers and supercomputers.

Android Studio

The Android Studio is an Integrated Development Environment (IDE) used to

develop an android application for Smartphones.

Laravel Framework

The Laravel is a web application framework that uses PHP language for API.

API

The Application Programming Interface (API) is a set of methods used to

communicate other components.

Apache HTTP Server

The Apache HTTP Server is a web server software used to manage API.

MySQL

MySQL is a Relational Database Management System (RDMS).

SQL

The SQL is a programming language used to design for Relation Database

Management System (RDMS).


73

Operation and Testing Procedures

To be able to test and evaluate the project, the following operation procedure must

be observed.

This procedure is for the authorized official to create an account that includes

password for the security and encoding the list of candidates for mobile application.

For Creating an Account of the Authorized Official, the following procedures must be

follow:

1. Open the application by clicking the icon.

2. Click “Register”.

3. Fill up the needed information

4. Click “Submit”

For Logging in the account of the Authorized Official, the following procedures must

be follow:

1. Input the user name and password

2. Click “Submit”

For encoding the list of candidates and adding the party list on the main server an

authorized personnel must follow this procedures:

1. Log in admin account

2. Go to “Candidates” tab

3. Click the “Add Party List” button

4. Type the name of the Party List

5. Click “Add Party List” button to save

6. Click the “Add Candidate” button


74

7. Input the information of the candidate

8. Click “Add Candidate” to save

For setting the polling hours on the main server an authorized official must follow this

procedure:

1. Log in admin account

2. Click the “Manage Polling Hours” button on the home tab

3. Enter the time and date for the start and end of the polling hours

4. Click “Add” to save

This procedure is for the voter to register an account that needs QR Code for security

and secrecy of their votes.

For Voter Registration, the following procedures must be follow:

1. Scan the QR Code of the voter

2. The registration host displays “Successfully Registered” message

For Voting using the Mobile Application, the following procedures must be follow:

1. Open the Mobile Application

2. Click the “Confirm” button in the terms and agreement of the Mobile Application

3. Scan the QR Code

4. Choose the preferred candidates in the poll by clicking the check box

5. After choosing the desired candidates click submit

6. After submission, the mobile application displays the summary of votes


75

Test Procedures for Functionality

The system can accept the entered personal information of the registrant for the

Admin Registration. The system can update the list of bona fide candidates along with the

information and the corresponding party list when the admin enlists the Bona fide

candidates. For managing the polling hours, on the system start and end of the polling

hours can be added on the main server. The information on the QR Code of the voter can

be read and stored to the database for the Voters Registration. For voting using the mobile

application the voter can use the mobile application only on the scheduled polling hours.

The summary of results can be exported through PDF. For the summary of voters who

joined the polling, it can also be exported through PDF. Each function has to undergo 3

trials to assess its functionality.

Test Procedures for Accuracy

The system can calculate the results during and after the polling for the overall real-

time results. For identifying the QR Code of the admin, the system can check if the QR

Code of the admin is registered or not. For identifying the QR Code of the voter, the system

can check if the QR Code is registered or unregistered. The system can check each MAC

Address if it reached the maximum allowed entries for the limit of 3 voters per one MAC

Address. These are the 4 tests to be conducted and have to undergo 3 trials each.

Test Procedure for Reliability

For trying to vote on the unscheduled polling hours, the mobile application can

allow the voters to scan their QR Code but will show an error message. For the voters who

try to vote more than once an error message of “Already Voted! Closing the App” will be

shown on the mobile application. The mobile application can allow the voters to scan their
76

QR Code but will show an error message when the mobile application was tried to use

more than three times. For exceeding the number of chosen candidates for senators and

governors, the checkbox will not be highlighted and will display the error message

"Reached the maximum limit". The system can read the QR Code information but will

display the error message of “You are already registered” when the registered voters

scanned their QR Code again. The system can let the user to input their information but

will display the error message of “The position has been taken.” once the allowed admin

account exceeds its limit. These are the 6 tests to be conducted and have to undergo 3 trials

each.

Evaluation Procedure

The research project will be evaluated using the procedures.

1. The researchers will explain to the respondents the operating procedures and

guidelines of this research project

2. The researchers explains how the device work

3. The respondents will operate the prototype to evaluate its functions properly

4. The Criteria Evaluation Form of the TUP will be given to the respondents to

evaluate and rate the project

5. The gathered data from the evaluation of the respondents will be calculated to

finalize the results

Rating Scale for Evaluation

The measurement tool that will be used is a 5-point Likert Scale wherein 1 is the

lowest and 5 as the highest. Table 1 represents the rating scale and the corresponding

descriptive rating.
77

Table 1

Likert Scale

Numerical Rating Descriptive Rating


5.0 Excellent/Highly Acceptable
4.0 Very Good/Very Acceptable
3.0 Good/Acceptable
2.0 Fair/Fairly Acceptable
1.0 Poor/Not Acceptable
78

Scale Range and its Qualitative Interpretation

The range rated from 4.51 to 5.00 means the project is “Highly Acceptable”, from

3.51 to 4.50 signifies the project is “Very Acceptable”, from 2.51 to 3.50 indicates the

project is “Acceptable”, from 1. 51 to 2.50 means the project is “Fairly Acceptable” and

from 1.0 to 1.50 signifies that the project is “Not Acceptable” to the evaluators as shown

in table 2.

Table 2

Descriptive Interpretation of the Mean

Numerical Rating Interpretation


4.51-5.0 Excellent/Highly Acceptable
3.51-4.0 Very Good/Very Acceptable
2.51-3.0 Good/Acceptable
1.51-2.0 Fair/Fairly Acceptable
0.51-1.0 Poor/Not Acceptable
79

CHAPTER 4

RESULTS AND DISCUSSION

This chapter contains the Project Description, Project Capabilities and Limitations,

and Project Evaluation

Project Description

Figure 37 shows the prototype and labeled parts. The RPi Voting system is a tool

that offers a faster way of voting system. This project is composed of three main

components, the main server, the registration host and the mobile application.

The main server is intended only for admin officials. It has the capability of

automatically computing the real-time results and can easily find out the leading

candidates. This is the part of the project where an admin can add the list of bona fide

candidates along with their information. The main server is also capable of setting the

maximum number of senators and governors to be voted using the mobile application. It

also has the capability to start and end the time of polling day according to the set time and

date. This is also the part of the project where the admin can edit the information of their

account, like changing their username, student number or password. It is also the part of

the project where an admin could manage the active admin accounts or delete the inactive

admin accounts. The main server also has the capability to export the voting results and

the summary of voters who joined the polling through excel file.

The second important component of this project is the registration host. It is a tool

that offers a faster voter registration. To start the voter registration, the admin must log in

on the registration host by scanning their QR Code. The voter can register by scanning

their QR Code on the QR Code scanner of the registration host. After scanning the voter
80

QR code the admin must click the button on the LCD touch screen indicating that the voter

has been successfully registered.

The mobile application is the third component of this project. It is where a voter

can vote. The voter can vote by scanning their QR code on the rear camera of the mobile

device. After scanning the system will allow voter to vote only if a.) it is the polling day,

b.) when the voter is registered, and c.) when the usage of the mobile device is not more

than three. After considering those things, the system will allow the voter to choose their

preferred candidates and submit it after the voter is done.

Figure 37. the prototype of RVS


81

Project Structure

Figure 38 shows the initial built case. The case is made up of 3mm thick acrylic.

The reason for choosing the material is its availability and the material used is a type of

insulator to prevent the shortage for the components of the RPi. The curve on the sides of

both back and front plane are for aesthetics only. The jigsaw puzzled blocks are called

interlocking to fix the parts together in a safety way. The dimension of the scanner is 70mm

x 51mm and the dimension of RPi LCD touchscreen is 80mm x 55mm.

Figure 38. Unfinished Case of the Project


82

Figure 39 shows the RPi Voting System Main Server. The main server should be

connected to the router using a LAN cable. This is only intended to use by the admins. This

is where an admin can enlist the candidates; manage the polling day and where the overall

real-time results can be found. The main server is also responsible in enabling the mobile

application and the registration host, because the mobile application and the registration

host do not work nor access when the main server is turned off. On Raspberry Pi 3 Model

B, it has a Real-Time Clock (RTC) Module attached to the pins of RPi. It used to have an

accurate date and time for the project.

Figure 39. RPi Voting System Main Server


83

Figure 40 shows the QR Code scanner and its USB Cable. This is where the voter

scanned their QR Code to be registered. It has USB cable interface to be able to connect

and to communicate with the RPi. It has a specification of Plug-and-Play for easy

installation. It is located on the left side of the registration host beside the Raspberry Pi.

Figure 40. Scanner includes the Fire Wire to USB Cable


84

In figure 41 the Raspberry Pi 3 Model B and its LCD Touchscreen. It displays the

details on the QR code and serves as the main control to the application and the system.

Capacitive touch screen is connected on the pins of the RPi. It is used to select the program

application and register the voters. Admin must scan their QR code first for security

purposes. It is connected to the QR code scanner and it should also be connected to the

router by opening the wireless fidelity (Wi-Fi).

Figure 41. LCD Touch Screen attached on the RPi


85

Figure 42 shows the router. Router is the most important part of the project. It is

used for wireless communication. Through network connection the three devices (two

registration host and the mobile device) are connected and can communicate to each other.

Figure 42. Router connected to the main server


86

Figure 43 shows the registration page of the admin account. It is consists of six

textboxes for the admin information such as student number, name, username, position,

password and confirm password that should be filled up by the admin. A submit button

and a cancel button can be seen in this page. Submit button is designated for the submission

of the account and the cancel button is for canceling the registration of an admin. When

the needed information is completely filled up the admin can now submit the information

to the database. Each admin accounts have a specific position. Each position should be

taken by one admin only.

Figure 43. Registration Page of the Admin Account on the Main Server
87

Shown in figure 44 the admin log in page of the main server. This page contains

the textboxes and the two buttons the submit button and the register button. If an admin

already has an account, text boxes should be filled-up and by clicking the submit button

the admin can log in. If an admin wants to create an account, the register button must be

submitted.

Figure 44. Log in Page of the Main Server


88

As shown in the figure 45 is the home page of the main server where in the admin

can edit their info, manage the other admin accounts, manage polling hours, set the

maximum number of senators and governors to be voted, export the summary of results

and summary voters through PDF form. Different tab can be seen on this page such as the:

home tab, candidates tab and voters tab. It also shows the name of the logged in admin

account. This page also contains of six buttons: edit my info button, manage admin

accounts button, manage polling hours button, set maximum number of votes button,

export summary button and export voters button. The home page also displays the leading

candidates along with their information such as the running position and the total vote

count. The green highlight indicates the leading candidates. It also has a log out button for

logging out the account of the admin. Lastly, home page displays the polling status if it is

active or not.

Figure 45. Home Page of the Main Server


89

The figure 46 shows the interface in editing the information of an admin account.

It is a button in the main server. On this Pop-up window the admin can Edit the Information

of their individual account. It contains student ID, name, username, current password, new

password, and the confirm password. It also contains of two buttons: the cancel button and

the update button. Cancel button is for cancelling, exiting or closing the “edit my info”

window and the update button is for updating the information or to process the updates.

The text box that labeled “current password”, must be filled up correctly to change or

update the information successfully. If the admin wants to edit any of their individual

information, change the existing information by typing or filling up the field that the admin

wants to change then type the current password and click update to save the changes.

Figure 46. Pop up Window of Edit My Info


90

As shown on the Figure 47 the interface for manage the admin accounts. It contains

the registered admin accounts. On this page the admin can delete the old or inactive

accounts of the other admins by clicking the delete button. Password of that account must

be input correctly in order to delete it. To cancel this action, the admin can click the close

or x button.

Figure 47. Pop up Window of Manage Admin accounts


91

Shown in figure 48 the pop up window of manage polling hours. It is a window

where the admin can manage or set the start-end time and date of the polling day. It also

consists the records of the previous scheduled polling hours and its status: Finished, not

started and Ongoing. To delete the records, the admin must click the delete button under

the action column. The system automatically ends the date and time of the polling hours

according to the set date and time. This window consists of two textboxes that should be

filled up. It also has add button to save the new set of polling hours and the close button to

be able to close the window.

Figure 48. Pop up Window of Manage Polling Hours


92

Figure 49 shows the pop-up window that contains the textboxes where the admin

can set the maximum number of senators and governors to be chosen by the voters. For

setting the maximum senators and governors the admin must input a number greater than

zero. This window also consists of two buttons; submit button to save the set numbers and

the close button for exiting or closing the window.

Figure 49. Pop up Window of Set Maximum Candidates


93

Admin can also export the data or the overall results of votes including the list of

candidates and also the list of the registered voters who voted or not. It is where the admin

can download the soft copy of a file in PDF format, it can be open using a browser. The

files can be downloaded by clicking the buttons: export summary button and the export

voters. The file downloaded can be seen at the left bottom side of the home page that shown

in the figure 50.

Figure 50. Home Page of the Main Server with the Downloaded File in PDF Format
94

Figure 51 shows the candidates page on the main server. It consists of the list of

candidates and the different name of the party list. Under the candidates it has three buttons:

a.) the add candidate button for adding the bona fide candidates, b.) delete button for

deleting a particular candidate, and c.) delete all button to delete the entire candidates. The

personal information of the candidates and the total number of the candidates that has been

running for a position can also be seen on this page.

The candidates tab also consists all the party list. Under the party list it has three

buttons: a.) the add party list button for adding a new party list, b.) delete button for deleting

a particular party list, and c.) the delete all button for deleting the entire party list. The total

number of party list can also be seen on the candidates page.

Figure 51. The Candidates Page


95

In this pop up window shown on the figure 52 is the add candidate window. It is

where the admin can add or enlist a running candidate. This pop-up window contains of

text boxes for the required information that should be filled up by the admin correctly

including the photo of the candidate. This information helps the voters to know the

candidates more. It is consists of two buttons the add button for adding a candidate and the

cancel button for closing the window.

Figure 52. Pop up Window of Add Candidates


96

Figure 53 shows the pop-up window of the add party list button. It is where the

admin can add the name of a party list by filling up the text box. It is consists two buttons:

a.) the add party list button in order to add the name of the party list, and b.) the cancel

button for cancelling or closing the window.

Figure 53. Pop up Window of Add Party List


97

The figure 54 shows the voters page. It displays the total number of registered

voters. The information of each voters according to its QR code structure can be also found

in this tab. It is consists of three buttons: a.) the select all button to select the registered

voters, b.) delete selected button to delete a particular voter to the system, and c.) the delete

all button to delete the entire registered voters. Through this tab is an indicator on the vote

status column can be seen to notify the admin if the voter is already done voting or not yet

voted.

Figure 54. The Voters Page


98

Figure 55 shows the icon of software application on the registration host. The

localserver.sh is the application use for the registration of voters on the registration host.

The admin is responsible to assists and accommodate the voters.

Figure 55. Software application on the Registration host


99

The graphical user interface (GUI) of RVS on the registration host was shown on

figure 56. The registration host must be connected to the “Voting Network” for the

application to work. When the admin opens the GUI the start button and the close button

is automatically displayed on the start page of the registration host.

Figure 56. GUI of RVS on the registration host


100

The admin log in page on the registration host is shown in figure 57. The text box

displays the details on the QR code through the form of asterisk to hide the details of the

admin QR code for the security of the system. It also contains a close button for closing

the application.

Figure 57. Admin Log in Page on the registration host


101

The voter registration page is shown on figure 58. In this page the textbox displays

the voter information or details from its QR code structure. It contains three buttons: a.)

the clear button for clearing or erasing the details on the textbox, b.) the register voter

button for registering the voter, and c.) close button for closing the page of scan registrant

QR code. If the voter scanned the QR code on the registration host for the first time, the

system notifies the voter with a pop up message that the voter is successfully registered. If

the voter scanned the QR code again, the system notifies the voter with a pop up message

that the voter is already registered. The admin must press ok on the pop-up display to

disappear the message to proceed and accommodate the next registrant.

Figure 58. Registration of the voter on the Registration host


102

On figure 59 shows the icon of the mobile application of the RPi voting system.

This tool is responsible for voting. The application can install in different android phones

but it works normally in android version 7.0 Nougat and up. It does not support android

version below 7.0 because those versions do not support the QR code-based activation. It

communicates with the main server so it should be connected to the voting network.

Figure 59. The Icon of the Mobile Application of the RVS


103

The home page of the mobile application is shown in figure 60. When the user

opens the mobile application, it automatically displays the terms and condition. The mobile

application home page is consists of the help button for user’s manual and the QR code

scanner of the mobile device. The scanner will work by facing the students QR code on the

rear camera of the mobile device.

Figure 60. Home page of the Mobile Application


104

Project Test Results

These sections show the result of the tests concluded for the functionality, accuracy

and reliability.

Testing Results for Functionality

Table 3 shows the testing results for the admin registration, the default admin that

can register to the system is four, if they try to add two additional admins to the current

registered admins, the first four registrants can only be accepted by the system, and the

system neglects if the admin tries to register because the system has reached the maximum

number of admin accounts.

Table 3

Testing Results for Admin Registration

No. of admin Additional admin Total No. of registered


Trial
registered registered admin
1 0 1 1
2 1 3 3
3 3 2 4
105

The testing results for Enlisting Bona fide candidates is shown in table 4, the

additional bona fide candidates adds to the current number of list bona fide candidates and

the server automatically updates the total number of bona fide candidates.

Table 4

Testing Results for Enlisting Bona fide candidates

No. of listed bona fide Total No. of listed bona


Trial Additional
candidates fide candidates
1 0 5 5
2 5 10 15
3 10 15 25
106

The admin sets the polling time/hours on the main server and the system

automatically start and end the polling hours. Table 5 shows the testing result for Managing

Polling hours.

Table 5

Testing Results for Managing Polling hours

Trial Set polling hours


1 Success
2 Success
3 Success
107

The testing results for Voter Registration is shown in table 6. For the Voters

Registration the additional voters adds to the current number of registered voters and the

system automatically updates the total number of registered voters.

Table 6

Testing Results for Voter Registration

Additional Total No. of registered


Trial No. of registered voters
voters voters
1 0 5 5
2 7 8 15
3 14 15 25
108

Table 7 shows the testing results for Voting using the mobile app, the voters can

access the mobile application and submit their votes if the polling hours is activated by the

admin.

Table 7

Testing Results for Voting using the mobile app

Trial Voters access the mobile app during polling hours


1 Vote Submitted
2 Vote Submitted
3 Vote Submitted
109

The admin can only download the summary of results on the server by accessing

the homepage of the web application. Table 8 shows the testing results for exporting the

voting result through pdf file.

Table 8

Testing Results for Exporting the voting result through pdf

Trial Download the summary of Result


1 Success
2 Success
3 Success
110

Table 9 shows the testing results for exporting the list of voters through pdf, the

summary of voters can be downloaded only by the admin through accessing the web

application on the server.

Table 9

Testing Results for Exporting the list of voters through pdf

Trial Download the summary of Voters


1 Success
2 Success
3 Success
111

Test Results for Accuracy

Test result for the Real-time Overall Result for a candidate is shown in table 10.

The voter chooses their preferred candidate and the submitted vote automatically increment

on the current number of votes. The system re-arranges the list of the candidates according

to the number of votes and the highlighted candidate has the maximum number of votes.

Table 10

Testing Results for Real-time Overall Result

No. of current
Trial Additional votes Total number votes
voted
1 0 1 1
2 5 2 7
3 10 4 14
112

Table 11 shows the Test Result for Identifying the QR code of a voter. The voter

scans their QR Code to the host, the data automatically sends to the main server. The main

server updates the list of the voters according to the transmitted data from the host.

Table 11

Testing Results for Identifying the QR code of a voter

No. of current Total number of


Trial Additional Voters
registered voters registered voters
1 25 3 28
2 33 5 38
3 41 7 48
113

The registered Admin scans their QR code to login and access the application on

the host, voters can now register using their QR. If the unregistered admin scans their QR

code to the host, an error message appears. Table 12 shows the test result for Identifying

the QR Code of an admin.

Table 12

Testing Results for Identifying the QR Code of an admin

Trial Registered Admin Unregistered Admin


1 Success Access denied
2 Success Access denied
3 Success Access denied
114

The system will only accept 3 entries for the same MAC Address. If the voter 4

tries to vote using the same MAC Address and its reached the maximum limit of 3 voters,

the mobile application notifies the user that the Mobile device reached its maximum limit.

The Test Result for the Limit of 3 Voters in 1 MAC Address is shown in table 13.

Table 13

Testing Results for Limit of 3 voters per 1 MAC Address

No of voters using Additional voters Total of voters


Trial the same MAC using the same using the same
Address MAC Address MAC Address
1 1 1 2
2 2 1 3
3 3 1 3
115

Test Results for Reliability

Testing result for voter trying to vote on unscheduled polling hours is shown in

table 14. Voters cannot submit their votes when the polling hour is not yet started cause

the mobile application is not enabled.

Table 14

Testing Result for Voter Trying to Vote on Unscheduled Polling Hours

Trial Voter Vote Submitted


1 1 Not Success
2 2 Not Success
3 3 Not Success
116

When the voter tries to vote more than once the system displays that the voter is

already voted. Voter can only vote once. Table 15 shows the testing results for voter

trying to vote more than once.

Table 15

Testing Result for Voter Trying to Vote More Than Once

Trial Voter Vote Submitted


1 1 Success
2 2 Success
3 1 Vote Already Submitted
117

The mobile application can be used only by three (3) users as a default maximum

number. The mobile application displays a message when it reach the maximum usage.

The voter who is trying to vote using mobile application more than three times is shown in

table 16.

Table 16

Testing Result for Voter Trying to Vote using Mobile Application More Than Three Times

Trial Voter Mobile Application


1 3 Vote Submitted Successfully
2 4 Reached the Maximum Limit
3 5 Reached the Maximum Limit
118

Table 17 shows testing result for voter trying to exceed the chosen candidates for

senators and governors. The mobile application automatically unselect the previous

candidates selected by the voter when it exceeds to the designated number set by the admin.

Table 17

Testing Result for Voter Trying to Exceed the Chosen Candidates for Senators and

Governors

Trial Voter Set maximum candidates Chosen Mobile


for senator and governors Candidates Application
1 1 6 6 Not Exceeds
2 2 5 7 Exceeded
3 3 4 5 Exceeded
119

The testing result for the voter trying to scan again their QR code is shown in table

18. A voter must scan the QR code once to register. When the voter scan again, the system

displays a message that the voter is already registered.

Table 18

Testing Result for Voter Trying to Scan Again Their QR Code

Trial Voter QR Code


1 7 Successfully Registered
2 7 Already Registered
3 8 Successfully Registered
120

Only four (4) registered admin can be registered on the system. When another

person registered as an admin, the system declined the registration because the position are

already taken. Table 19 shows the testing result for exceeding the number of admins’

account.

Table 19

Testing Result for Exceeding the Number of Admins’ Account

Trial Admin Register an Account


1 4 Success
2 5 Not Success
3 6 Not Success
121

Project Capabilities and Limitations

The Development of RPi Voting System used for student government election is

an electronic voting system that can access using a smart phone application. It has three

major parts: a.) the main server, b.) registration host that can only be accessed by the

authorize admin, and c.) the mobile application where the voters will vote.

The following capabilities of the prototype developed:

1. Register maximum of three (3) admin accounts according to their position

2. Set polling hours for voting

3. Add the list of party list and enlist the bona fide candidates

4. Delete the account of admin if necessary

5. Can show summary of votes during and after the polling

6. The voter can register by scanning the QR Code

7. Vote using the mobile application

8. Show the summary of votes on the mobile application

9. Export the summary of result through pdf file

10. Export the summary of the voters who voted through pdf file

Meanwhile, the following are the limitations of the prototype:

1. The number of the mobile can connect to the router depends on the router

specifications

2. If the main server is not open, the prototype will not work

3. The admins must know each other password to delete its individual or other

admin account

4. The mobile application does not support IOS


122

5. The mobile application has maximum of three (3) users per one MAC address

6. The mobile application cannot run on Android version 6.0 and below

7. Make sure the mobile data is turn off

8. The mobile device should be connected to the network

Project Evaluation

The prototype was evaluated by 10 randomly selected students, 2 COMSELEC

officers and 1 OSA admin from the Technological University of the Philippines Cavite

Campus, and 17 USG officers from the different campuses of Technological University of

the Philippines on February 8 to February 11, 2019.

Evaluation of Results

These sections show the evaluation result of the prototype for the seven criteria,

standard deviation and their equivalent descriptive rating.

Evaluation Results for Functionality

Table 20 shows the result of the evaluation for the functionality sub-criteria. On

ease of operation, the prototype got a rating of 4.80 that has a descriptive rating of “Highly

Acceptable” which means the evaluators found that the operation of the system is not

complicated and easy to use. Provisions for comfort and convenience got a total average

of 4.60 with and equivalent descriptive rating of “Highly Acceptable” which shows that

the prototype is convenient and comfortable to use. A mean of 4.73 that has a descriptive

rating of “Highly Acceptable” is the rating for user friendliness. It means that the prototype

is user friendly base on the evaluators survey. The average mean for the functionality

criteria is 4.71 with a descriptive rating of “Highly Acceptable”.


123

Table 20

Evaluation Results for Functionality

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Ease of Operation 4.80 Highly Acceptable
Provision of Comfort and
Convenience 4.60 Highly Acceptable
User Friendliness 4.73 Highly Acceptable
Overall Mean 4.71 Highly Acceptable
124

Evaluation Results for Aesthetics

The second criteria are the aesthetics. The summary of the evaluations for the

aesthetics are shown on table 21. The color sub-criteria got an average of 4.67 and a

descriptive rating of “Highly Acceptable”. This means that the color of the prototype case

as well as the GUI and web page design are pleasant to the eyes of the evaluators. The

Attractiveness of design sub-criteria got an average of 4.50 which means that the physical

appearance and design of the prototype is attractive for the evaluators, that corresponds to

a “Highly Acceptable” descriptive rating. The third sub-criteria for the aesthetics are the

Appropriateness in Size. It got an average of 4.57 and a “Highly Acceptable” descriptive

rating, which means the prototype design is suitable and appropriately built for its purpose.

The prototype got an overall “Highly Acceptable” descriptive rating and the overall

average is 4.58.

Table 21

Evaluation Results for Aesthetics

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Color 4.67 Highly Acceptable
Attractiveness of Design 4.50 Highly Acceptable
Appropriateness in Size 4.57 Highly Acceptable
Overall Mean 4.58 Highly Acceptable
125

Evaluation Results for Workability

For the third criteria, workability, table 22 shows the summary of the results

gathered. The first sub-criteria are the Availability of materials, it got an average of 4.43

and a descriptive rating of “Very Acceptable” which means that the availability of materials

is can be access easily. The Availability of technical expertise got an average of 4.37 with

a descriptive rating of “Very Acceptable”, which means that it got an excellent result for

the availability of technical expertise sub-criteria. The third sub-criteria are the availability

of tools and machine, these sub-criteria got an average of 4.43, which means the tools and

machines needed are very accessible. The overall mean for the third criteria got an average

of 4.41 which means “Very Acceptable” descriptive rating.

Table 22

Evaluation Results for Workability

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Availability of materials 4.43 Very Acceptable
Availability of technical
4.37 Very Acceptable
expertise
Availability of tools and
4.43 Very Acceptable
machine
Overall Mean 4.41 Very Acceptable
126

Evaluation Results for Durability

Table 23 shows the summary of results of the fourth criteria which is the durability.

Quality of materials is the first sub-criteria of the durability, it got a descriptive rating of

“Highly Acceptable” and an average of 4.53 which mean the quality of materials used for

the project is high. Quality of workmanship sub-criteria got an average of 4.40 and a

descriptive rating of “Very Acceptable”, it means that the prototype was built excellently.

For the quality of design, it got an average of 4.50 and a descriptive rating of “Very

Acceptable”, it means that the prototype design was well thought and built. The overall

mean got an average of 4.48 and equivalent to “Very Acceptable” descriptive rating, which

means according to the evaluators the durability and quality of the project is very high.

Table 23

Evaluation Results for Durability

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Quality of materials 4.53 Highly Acceptable
Quality of workmanship 4.40 Very Acceptable
Quality of design 4.50 Very Acceptable
Overall Mean 4.48 Very Acceptable
127

Evaluation Results for Economy

The summary of results for the fifth criteria economy is shown in table 24. In terms

of materials needed, the first sub-criteria, got an average of 4.33 and a descriptive rating of

“Very Acceptable”. This means that the materials bought is economical and not too

expensive for their function. The second sub-criteria got an average of 4.27 with a “Very

Acceptable” descriptive rating in terms of the time and labor spent. This means that that

the time and labor spent for the project matches its uses efficiently. In terms of machines

required, it got an average of 4.33 with a “Very Acceptable” descriptive rating. It means

the machines used are not expensive and can be used for a long period of time. The

economy criterion got an overall average of 4.31 equivalents to the descriptive rating of

“Very Acceptable”.

Table 24

Evaluation Results for Economy

SUB-CRITERIA MEAN DESCRIPTIVE RATING


In terms of materials needed 4.33 Very Acceptable
In terms of time/labor spent 4.27 Very Acceptable
In terms of machine/s
4.33 Very Acceptable
required
Overall Mean 4.31 Very Acceptable
128

Evaluation Results for Safety

Safety is the sixth criteria, table 25 shows the summary of results. The first sub-

criteria, Absence of toxic and hazardous materials got an average of 4.73 with a descriptive

rating of “Highly Acceptable”. These means that the materials used to build the prototype

has no toxic chemicals. An average of 4.67 with a descriptive rating of “Highly

Acceptable” in terms of the absence of sharp edges, which means there are also not much

of sharp edges in the built prototype. Provision for protection devices got a rating of 4.67

with the descriptive rating of “Highly Acceptable” since all the objects are protected and

not accessible to the user as well. Upon computing the mean, it got an average of 4.69 and

a descriptive rating of “Highly Acceptable”.

Table 25

Evaluation Results for Safety

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Absence of toxic/hazardous
4.73 Highly Acceptable
materials
Absence of sharp edges 4.67 Highly Acceptable
Provision for protection
4.67 Highly Acceptable
devices
Overall Mean 4.69 Highly Acceptable
129

Evaluation Results for Salability

Salability is the last criteria and the summary of results is shown in table 26. The

presence of market demand got an average of 4.40 correspond to the “Very Acceptable”

descriptive rating, which means that the prototype has the potential to be marketable. The

second sub-criteria, Accessibility to finished product, got a total rating of 4.33 resides to

the “Very Acceptable” descriptive rating. These means that the prototype can be accessed

anytime since there are no security and safety requirements to access the prototype. An

average of 4.27 with a “Very Acceptable” descriptive rating for the result in terms of the

competitiveness of price since the cost of producing the project is not expensive for its

purpose. The overall mean for the salability criterion is 4.33 corresponds to the “Very

Acceptable” descriptive rating.

Table 26

Evaluation Results for Salability

SUB-CRITERIA MEAN DESCRIPTIVE RATING


Presence of market demand 4.40 Very Acceptable
Accessibility to finished
4.33 Very Acceptable
product
Competitiveness of price 4.27 Very Acceptable
Overall Mean 4.33 Very Acceptable
130

Summary of Evaluation Result

The overall mean of all the seven criteria with their corresponding descriptive rating

are shown in table 27.

For the functionality criteria, it got an average of 4.71 with a descriptive rating of

“Highly Acceptable”. This means that the respondents find the prototype easy to operate.

For the aesthetic criteria, it got an average of 4.58 which lies to the scale value of “Highly

Acceptable”, which means that the appearance of the project as well as its size is acceptable

for the respondents. A mean of 4.41 with a descriptive rating of “Very Acceptable” on the

category of workability, which means the availability of materials and availability of

technical expertise, is acceptable for the respondents. In terms of the durability criteria, it

got an average of 4.48 corresponds to the “Very Acceptable” descriptive rating. These

means that the quality of materials and the quality of design in building the prototype is

very acceptable for the respondents. In terms of economy, it got an average of 4.31 which

lies in the scale of “Very Acceptable” means the use of resources and the cost of the project

is excellent according the respondents and is very acceptable. For safety, the absence of

dangerous and hazards object especially toxic objects made the prototype got a scale value

of “Highly Acceptable” with an average of 4.69. On salability, it got an average of 4.33

and a descriptive rating of “Very Acceptable that shows that the prototype has the potential

for demand in the market.

Upon computing, the criterion that got the lowest rating is the economy with the

rating of 4.31, it means it is the weakest characteristics of the prototype. Although it is the

lowest among the criteria, it still got a “Very Acceptable” descriptive rating. On the other

hand, functionality got the highest mean of 4.71 with a “Highly Acceptable” descriptive
131

rating according to the evaluators. Overall the prototype perceived a descriptive rating of

“Highly Acceptable” with an overall mean of 4.51 from the evaluators.

Table 27

Summary of Evaluation Result

Numerical Rating MEAN DESCRIPTIVE RATING


Functionality 4.71 Highly Acceptable
Aesthetics 4.58 Highly Acceptable
Workability 4.41 Very Acceptable
Durability 4.48 Very Acceptable
Economy 4.31 Very Acceptable
Safety 4.69 Highly Acceptable
Salability 4.33 Very Acceptable
Overall Mean 4.51 Highly Acceptable
132

CHAPTER 5

SUMMARY OF FINDINGS, CONCLUSIONS AND RECOMMENDATIONS

Summary of Findings

After testing and evaluating the functionality and operations of the Development of

RPi Voting System used for Student Government Election, the researchers has summarized

the study;

The purpose of designing this prototype is to successfully create and develop a tool

that can be used in voting electronically. The three Raspberry Pis (one main server and two

registration host) and the mobile application are communicating with each other through a

network connection. The Real-time clock module is attached and connected to the GPIO

pins of the main servers Raspberry Pi which is very significant for setting the time and date

of the polling day. The main server serves as an activator for both registration host and

mobile application.

The QR Code scanner connected to the Raspberry Pi of the registration host which

is responsible for reading the QR Code structure of the voter. The main servers Raspberry

Pi is responsible in running the main program of the system which is created using the Java

language and with the use of NetBeans IDE. The mobile application is also created using

the Java language with the use of Android Studio. A LCD touchscreen is also interfaced to

the Raspberry Pi of the registration host so the users are able to use the registration host

with ease and without the need of keyboard or a mouse. The RPi Voting System worked

successfully according to the planned design and met its expected output.
133

The results gathered from the respondents, which consists of 12 students and 2

COMSELEC officers, 1 OSA officer from Technological University of the Philippines –

Cavite and 15 USG Officers from the different campuses of Technological University of

the Philippines, shows the prototype has been successfully created to serve its purpose as

a solution to have an electronic voting system and proven by the overall average rating of

4.51 depicted as “Highly Acceptable.”

Conclusions

Considering the objectives of the study as well as the results of the tests and evaluations

done, the researchers concluded:

1. Successfully designed and created a voting system with a graphical user interface

(GUI) of a website programmed to enlist the bona fide candidates and summarized

the results that can be exported to excel. Also a graphical user interface (GUI) on

the registration host was successfully designed and created to register the students

using QR Code. A mobile application that can be used for voting and can show the

summary of votes was also successfully designed and created.

2. Developed a mobile application for the voter that interacts with a Raspberry Pi.

3. Tested according to the planned design

4. The performance of RPi voting system is Highly Acceptable


134

Recommendations

The following recommendations are offered for future innovations and improvement of the

RPi Voting System:

1. Add the capability to set a number for vice president and secretaries to be chosen

for the alumni voting election.

2. Provide an alternative device for voting.

3. Add the ability of the mobile application to run on IOS.

4. Develop the design of the project.

5. Research about the performance of product after being used in a real Student

Government Election.
135

References

Online and Multimedia Sources

Garfield, L. (2016). The World's Population Is Growing Faster Than We Thought.

Retrieved September 2018 from https://www.sciencealert.com/the-world-s-population-is-

growing-faster-than-we-thought-new-report-finds

Philippines Population (2018, September 18). Philippines Population 2018. Retrieved

2018-10-05 from http://worldpopulationreview.com/countries/philippines-population/

Worldometer (2017). Philippines Population. Retrieved from

www.worldometers.info/world-population/philippines-population/

Geronimo, J. (2017). 22.9M students return to public schools nationwide. Retrieved

September 2018 from https://www.rappler.com/nation/171959-philippines-school-

opening-2017

Philippines institute of development studies (2017). Out-of-school youth in PH. Retrieved

from https://www.pids.gov.ph/pids-in-the-news/1999

Esmaquel, P. (2016). Comelec admits more problems in voting system. Retrieved

from,https://www.rappler.com/nation/politics/elections/2016/121987-comelec-problems-

voting-system-vcm-ccs

Pareja, J.R. (2010). PCOS Machine Breakdowns Reported Retrieved from,

https://www.philstar.com/cebu-news/2010/05/11/573935/pcos-machine-breakdowns-

reported

ACE Electoral Knowledge Network (1998). Elections and Technology. Retrieved 2018

from, https://aceproject.org/ace-en/topics/et/introduction/default
136

Essays, UK. (2013, November). Definition of Voting System Information Technology

Essay. Retrieved from https://www.ukessays.com/essays/information-

technology/definition-of-voting-system-information-technology-essay.php

ProCon.org. (2013, February 6). Voting Systems & Use: 1980-2012. Retrieved from

https://votingmachines.procon.org/view.resource.php?resourceID=000274

(What is Mobile Application, n.d.). Retrieved from

https://www.techopedia.com/definition/2953/mobile-application-mobile-app

ThinkMobiles (2011). What are the popular types and categories of apps. Retrieved from

https://thinkmobiles.com/blog/popular-types-of-apps/

Rouse, M. (2011, December). Mobile Operating System. Retrieved from

https://searchmobilecomputing.techtarget.com/definition/mobile-operating-

system?fbclid=IwAR0_vnspvyGOB2djw62VEAbulUCUx10pI8pFllp1B_oyLGgaLowFd

DNU7sY

Karch, M. (2019, January 19). The history of Android OS. Retrieved from

https://www.androidauthority.com/history-android-os-name-

789433/?fbclid=IwAR0cUo4HyY_hrBH9zVtP2khqjJ008rKszrTf6Trm08nvwREzfg7fDh

W9hVc

QR code activation for Android Enterprise Device Owner (DO) mode. Retrieved from

https://www.ibm.com/support/knowledgecenter/en/SS8H2S/com.ibm.mc.doc/pag_source

/tasks/afw_qr_code.htm

Raphael, JR. (2018, August 7). Android versions. Retrieved from

https://www.computerworld.com/article/3235946/android/android-versions-a-living-
137

history-from-1-0-to-today.html?page=2&fbclid=IwAR0zWFHsIcdr-

Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk

Carlon, K. (2016, April 15). Android 6.0 Marshmallow. Retrieved from

https://www.androidpit.com/android-m-release-date-news-features-

name?fbclid=IwAR0zWFHsIcdr-

Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk

Kumawat, DC. (2017, September 8). Android Oreo Features Developers Should Make

Note of. Retrieved from http://www.iamwire.com/2017/09/android-oreo-

features/158504?fbclid=IwAR3LtPJ0o9ArMCB4pIPx0mlG7gBUkyza2MjIsBGul3Nd26

nOaXUQS0z0XiU

Cipriani, J. (2016, August 22). The best new features in Android 7.0 Nougat. Retrieved

from https://www.greenbot.com/article/3106421/android/20-new-features-in-android-7-

0-nougat.html

Bohn, D. (2018, August 16). ANDROID 9 PIE REVIEW. Retrieved from

https://www.theverge.com/2018/8/16/17697648/google-android-9-pie-review-gestures-

ai-

notifications?fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018B

ZgdnrxXcxE

Nations, D. (2018, September 5). What Is the iPhone OS (iOS)?. Retrieved from

https://www.lifewire.com/what-is-ios-1994355

Costello, R. (March 11, 2016). What app in iPhone helps us to run APK files. Retrieved

from https://www.quora.com/What-app-in-iPhone-helps-us-to-run-APK-
138

files?fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018BZgdnrxX

cxE

Rouse, M. (2015, August). Windows Phone. Retrieved from

https://searchmobilecomputing.techtarget.com/definition/Windows-

Phone?fbclid=IwAR16p8FDex784Kc3oq1L1k9cSRBnqxdOeb_R16B2GqTZmsZHSq88

1DqEPwU

Christensson, P. (2011, September 23),

https://techterms.com/definition/programming_language?fbclid=IwAR0AlKoOxdFeboV

vwJMRC0O4-WcHhzPgrDg20_SGOQfZlMfHWCuQyKZUTA0

Lukaszewski, A. (2018). What is Python Programming Language. Retrieved from

https://www.thoughtco.com/what-is-python-2813564

Rouse, M. (2016, September),

https://searchsqlserver.techtarget.com/definition/SQL?fbclid=IwAR32HnGKx1KQblE3S

D1Sz5CC-sfoRJMu4I43BtHxF62CfKCIhIAMx4A6dvc

Leahy, P. (2018, April 09). What Is Java? Retrieved from

https://www.thoughtco.com/what-is-java-2034117

Crockford, D. (n.d.). Introducing JSON. Retrieved from https://www.json.org/

(What does Netbeans mean?, n.d.). Retrieved from

https://www.techopedia.com/definition/24735/netbeans

(What is Php?, n.d.). What is PHP?. Retrieved from https://www.quora.com/What-is-

PHP?fbclid=IwAR1UmE6gQScvAcZRFK4ajHniByf7KEINR5a109HYLPv41wk_1TRuf

gFLzbk
139

(Database Software 101, n.d.). Database Software 101. Retrieved from

https://www.quickbase.com/articles/database-software-basics

(Oracle Database Online Documentation, 10g Release 2 (10.2), n.d.). Oracle Database

(Oracle DB). Retrieved from https://www.techopedia.com/definition/8711/oracle-

database

Ian (2016, June). What is Microsoft Access?. Retrieved from https://database.guide/what-

is-microsoft-

access/?fbclid=IwAR1UmE6gQScvAcZRFK4ajHniByf7KEINR5a109HYLPv41wk_1T

RufgFLzbk

Sartain, JD. (2017, Nov). Excel databases: Creating relational tables. Retrieved from

https://www.pcworld.com/article/3234335/software/excel-databases-creating-relational-

tables.html?fbclid=IwAR3efy4hyE-

SVMJekaG8fkVntFQkKAgu2K4iLdwS248aZVpRJCzBPH1Ww5M

Stedman, C., Hughes, A., and Rouse, M., (n,d). Microsoft SQL Server. Retrieved from

https://searchsqlserver.techtarget.com/definition/SQL-Server?fbclid=IwAR0zWFHsIcdr-

Rac3PmDpyUvyycW07LwAUzqaWzQDiKEEDE8eQ258UPA5Tk

Rouse, M., Botelho, B., and Voughan, J., (n,d). MongoDB. Retrieved from

https://searchdatamanagement.techtarget.com/definition/MongoDB?fbclid=IwAR3r_ri1tf

5kg4TSEw7cXBZm_r7cfFLqmolWPSZ9QwBeHtFpIl-XGe1yQPM

Christensson, P. (2007, March 6). MySQL Definition. Retrieved 2018, Oct 5, from

https://techterms.com/definition/mysql

(What is Graphical User Interface n.d.). Retrieved from

https://www.techopedia.com/definition/5435/graphical-user-interface-gui
140

Beal, V. (n.d.). API-Application Program Interface. Retrieved from

https://www.webopedia.com/TERM/A/API.html

Mitchell, B. (2018, October 18). What is: Apache. Retrieved from

https://www.wpbeginner.com/glossary/apache/

Janiak, P. (2011, February). What is an "HTTP Request"? Retrieved from

https://www.quora.com/What-is-an-HTTP-request?fbclid=IwAR3BDIAbk-

44FqIekR6EdYOoOFmQeryW8I7ZC5LBBn76b4TN56d4BtXf4Gs

Smith, R. (2018, June). What is Laravel framework? Retrieved from

https://www.quora.com/What-is-Laravel-framework

Rouse, M. (2018). Android Studio. Retrieved from

https://searchmobilecomputing.techtarget.com/definition/Android-Studio

(Kieseberg, P., Leithner, M., Mulazzani, M., Munroe, L., Schrittwieser, S., Sinha, M., &

Weippl, E., 2010). How do QR codes work? Retrieved from

https://www.quora.com/How-do-QR-codes-

work?fbclid=IwAR3a97IqQx4xnAhqKlw1UwJOtrJ8aRmKCoXog40_wjxgqs9sKf5MJdJ

XIME

Garg, G. (2015, February 19). How QR Codes work: Everything you need to know.

Retrieved from https://scanova.io/blog/blog/2015/02/19/how-qr-codes-

work/?utm_campaign=content&utm_medium=quora&utm_source=gg_how-do-qrcodes-

works&fbclid=IwAR0ZdjU6hkUQ2hNhbrcm4btObdeED_U25_oX7gks_jr1_018BZgdnr

xXcxE

Rousse, M. (2005). Real-Time-Clock (RTC). Retrieved from

https://whatis.techtarget.com/definition/real-time-clock-RTC
141

(What is Raspberry Pi, n.d.). Retrieved from https://opensource.com/resources/raspberry-

pi

(Raspberry Pi 3 Model B, n.d.). Raspberry Pi 3 Model B. Retrieved from

http://wiki.seeedstudio.com/Raspberry_Pi_3_Model_B/Gus (2015, August 6). Raspberry

Pi Touchscreen: The Pi Touch Display Explained. Retrieved from

https://pimylifeup.com/raspberry-pi-touchscreen/

Klosowki, T. (2016, May 5). Retrieved fromhttps://lifehacker.com/the-best-operating-

systems-for-your-raspberry-pi-projec-

1774669829?fbclid=IwAR34wUALD8BFT87zXYJNh9E213V5AYX65JomK9qNoOGl

TfYRDhHk523OWfY

Guruprasad.K.Basavaraju (2014, November 10) Retrieved from

https://www.codeproject.com/Articles/839230/Introduction-to-Raspberry-Pi-with-

Raspbian-OS#Raspberry%20Pi%20with%20Raspian%20OS

Shafi’í, M. (2013, April). The Design and Development of Real-Time E-Voting System

in Nigeria with Emphasis on Security and Result Veracity. Retrieved from

https://www.researchgate.net/publication/273994099_The_Design_and_Development_of

_Real-Time_E-

Voting_System_in_Nigeria_with_Emphasis_on_Security_and_Result_Veracity

MIHIR (n.d). Online Voting System. Retrieved from

https://transmitter.ieee.org/makerproject/view/91d35
142

Electronic Sources

Bronack, T. (n.d). The problems with a paper based voting system. Retrieved from

http://www.dcag.com/images/White_Paper_-

_The_problems_with_a_paper_based_voting_system.pdf

Aziz, A. (2011). Online Election System - A proposed election system for Pakistan.

Retrieved from https://uu.diva-portal.org/smash/get/diva2:443096/FULLTEXT01.pdf

Abamo, J. (2016). Philippines Smart App Voting System a Mobile Voting System.

Retrieved from

http://ijarcsse.com/Before_August_2017/docs/papers/Volume_6/3_March2016/V6I3-

01301.pdf

Sidqi, H. (2014). E-Voting System Using GSM Mobile SMS. Retrieved from

https://www.researchgate.net/profile/Dinesh_Gawade/publication/320554295_E-

VOTING_SYSTEM_USING_MOBILE_SMS/links/59ec2f510f7e9bfdeb704f4d/E-

VOTING-SYSTEM-USING-MOBILE-SMS.pdf?origin=publication_detail

Evecek, H. (nd.). Online E-Voting Prototype System with Paillier Threshold

Cryptosystem Web Services. Retrieved from

https://www.google.com/url?sa=t&source=web&rct=j&url=http%3A%2F%2Fcs.uccs.ed

u%2F~gsc%2Fpub%2Fmaster%2Fhevecek%2Fdoc%2FOnline%2520E-

Voting%2520Prototype%2520with%2520PTC%2520Web%2520Services%2520v1.doc

&ved=2ahUKEwjJkLz7lL_gAhUPbn0KHVhhBcEQFjAAegQIARAB&usg=AOvVaw1L

meGzz0JlLkXTJOJVtS_o&fbclid=IwAR36ii-aKdX0l87zksLrvrROlKy_mHUfkN-

2QcyVzlBVJS0Uww4RHbnia14
143

Akhare & Gadale, 2016. Secure Mobile based E-voting System. Retrieved from

https://pdfs.semanticscholar.org/7c31/6f7b1e36eef8aedd5198af6a0813c1e6d396.pdf?_ga

=2.253441551.761792770.1552350062-852229144.1552350062

Sangale, S. and Shinde, S. (2014). E-voting system using QR code and Mobile OTP

based on Android platform for modern individuals. Retrieved from

https://pdfs.semanticscholar.org/18b5/49fb6b01062a99474407a09aef55e2a31aef.pdf?_ga

=2.253441551.761792770.1552350062-852229144.1552350062
144

APPENDICES
145

Appendix A

SAMPLE EVALUATION INSTRUMENT

Dear Respondents:

We are the students of Bachelor of Technology Major in Computer Engineering Technology humbly
asking for your assistance in evaluating our project called “Development of RPi Voting System Used for
Student Government Election”.

Your assistance will be highly appreciated Thank you very much.


Numerical Rating Range Descriptive Rating
5 Excellent/Highly Acceptable
4 Very Good/Very Acceptable
3 Good/Acceptable
2 Fair/ Fairly Acceptable
1 Poor/Not Acceptable

5 4 3 2 1
A. Functionality
1. Ease of operation
2.Provisions for comfort and convenience
3.User Friendliness
B. Aesthetics
1.Color
2.Attractiveness of design
3.Appropriateness in size
C. Workability
1.Availability of materials
2.Availability of technical expertise
3.Availability of tools and machine
D. Durability
1.Quality of materials
2.Quality of workmanship
3.Quality of design
E. Economy
1.Economy in terms of materials needed
2.Economy in terms of time/labor spent
3.Economy in terms of machine/s required
F. Safety
1.Absence of toxic/hazardous materials
2.Absence of sharp edges
3.Provision for protection devices
G. Salability
1.Presence of market demand
2.Accessibility to finished product
3.Competitiveness of price
Comments/Suggestions:__________________________________________________________________
________

Signature
June July August September October November December January February March
Activities Week Week Week Week Week Week Week Week Week Week
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Identifying research topic
Title Defense
Writing Chapter 1-3
Proposal Defense

Conceptualization of the Prototype

Canvassing of materials and financial


Acquisition
Purchasing of needed materials
Project Planning and lay outing
Appendix B

Fabricating the Prototype


GANTT CHART

Testing the Prototype


Evaluation of the Prototype
Analysis and Result
Writing Chapter 4-5
Final Defense
Revision
146
147

Appendix C

CORRESPONDENCE
148
149
150
151
152

Appendix D

PROFILE OF RESPONDENTS

Respondent Company/
Name Position/Designation
No. Institution
1 Sweden Lanza TUP-C OSA
2 Joseph Mari TUP-C COMSELEC
3 Pauline Ludivico TUP-C COMSELEC
4 Aice D. Parreno TUP-V USG
5 Glydee Mae M. Martinez TUP-V USG
6 Allona Jade O. Nadera TUP-M USG
7 Joshua G. Pumaris TUP-T USG
8 Aljon Conde TUP-C USG
9 Jose Angelito Manuel TUP-T USG
10 Ronielle Jacob Punzal TUP-T USG
11 Jade L. Franco TUP-V USG
12 Shiela Mae V. Sarabia TUP-V USG
13 Janelle O. Sonajo TUP-T USG
14 Kenneth V. Domingo TUP-M USG
15 Archie Denece Gajardo TUP-C USG
16 Shairah Anne G. Lobaton TUP-V USG
17 Ma. Odessa Eiman TUP-C USG
18 Psyna Permejo TUP-C USG
19 Trixie Mallari TUP-C USG
20 Paulo Nico L. Lumaniog TUP-M USG
21 Florence P. Loquinario TUP-V STUDENT
22 Christian Garsula TUP-C STUDENT
23 Rey Ann Madera TUP-C STUDENT
24 Joshua Vyrhon Reyes TUP-C STUDENT
25 Joedel M. Renolayan TUP-C STUDENT
26 Rowena Altalaguire TUP-C STUDENT
27 Ira Frances Contiga TUP-C STUDENT
28 Divina Bayoy TUP-C STUDENT
29 Jalilah Batao TUP-C STUDENT
30 Judy Ann Caponpon TUP-C STUDENT
153

Appendix E

TOTAL BUDGETARY REQUIREMENTS

PARTS DESCRIPTION PRICE QUANTITY TOTAL


Raspberry Pi 3
Model B with Processor: 1.2 GHz Quad
3.5” LCD, Core ARMCortex-A53 4000 3 12000
power supply, Memory Capacity: 16gb
and SD card
Memory Chips: AT24C32
RTC Module Operating voltage: 3.3-5.5v 140 3 445
Clock Chip: DS3231

Adapts 960*680 COMS


sensor
Barcode/QR Supports 1D/2D QR/Barcode
1830 2 3760
Scanner on paper/film/screen
Driver-Free
Power: USB
Acrylic Casing
for registration N/A 1040 2 2080
host

Acrylic Glue N/A 200 1 200

Transportation N/A 2000 2000

Miscellaneous
(Soldering
N/A 200 200
Lead, Female
header)

Shipping N/A 150 150

TOTAL PRICE: 20,835


154

Appendix F

TOOLS AND EQUIPMENT USED

TOOLS SPECIFICATIONS
Voltage: 220V
1. Soldering Iron
Power: 30 Watts
2. Sand Paper Grit number: 200

3. Cutter N/A

EQUIPMENT
Laser power: 60 to 400 Watts
1. Acrylic Laser Cutter
Laser source: CO2
155

Appendix G

PICTURES TAKEN DURING FABRICATION, TESTING AND EVALUATION

I. FABRICATION

1. Cutting the sides of the acrylic glass.

2. Case assemble.

3. Pasting and cohering the sides of the acrylic glass.


156

4. Finishing the design.

II. TESTING

III. EVALUATION
157

Appendix H

SUMMARY OF MEAN FROM THE EVALUATION

Functionality

1. Ease of operation 2. Provisions for comfort 3. User Friendliness

and convenience

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 0 0
3 1 3 3 2 6 3 1 3
4 4 16 4 8 32 4 6 24
5 25 125 5 20 100 5 23 115
TOTAL: 30 144 TOTAL: 30 138 TOTAL: 30 142

Mean=4.8 Mean=4.68 Mean=4.73

Aesthetics

1.Color 2. Attractiveness of design 3. Appropriateness in size

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 1 2
3 2 6 3 5 15 3 0 0
4 6 24 4 5 20 4 10 40
5 22 110 5 20 100 5 19 95
TOTAL: 30 140 TOTAL: 30 138 TOTAL: 30 137
Mean:4.67 Mean:4.5 Mean:4.57
158

Workability

1.Availability of materials 2. Availability of technical 3. Availability of tools

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 0 0
3 3 9 3 4 12 3 3 9
4 11 44 4 11 44 4 11 44
5 16 80 5 15 45 5 16 80
TOTAL: 30 133 TOTAL: 30 131 TOTAL: 30 133
Mean: 4.43 Mean: 4. 37 Mean:4.43

Durability

1.Quality of materials 2. Quality of workmanship 3. Quality of design

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 1 2
3 2 6 3 3 9 3 3 9
4 10 40 4 12 48 4 9 36
5 18 90 5 15 75 5 18 90
TOTAL: 30 136 TOTAL: 30 132 TOTAL: 30 135
Mean:4.53 Mean:4.4 Mean:4.5

Economy

1.Materials needed 2. time/labor spent 3. machine/s required

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 1 2
3 4 12 3 3 9 3 3 9
4 12 48 4 16 64 4 11 44
5 14 70 5 11 55 5 15 75
TOTAL: 30 130 TOTAL: 30 128 TOTAL: 30 130
Mean:4.33 Mean:4.27 Mean:4.33
159

Safety

1.Absence of toxic materials 2. Absence of sharp edges 3. Provision for protection

Rating f f(x) Rating f f(x) Rating f f(x)


1 1 1 1 1 1 1 0 0
2 0 0 2 0 0 2 0 0
3 0 0 3 0 0 3 3 9
4 4 16 4 6 24 4 4 16
5 25 125 5 23 115 5 23 115
TOTAL: 30 142 TOTAL: 30 128 TOTAL: 30 140
Mean:4.73 Mean:4.67 Mean:4.67

Salability

1.Presence of market demand 2. Accessibility to finished 3. competitiveness of price

product

Rating f f(x) Rating f f(x) Rating f f(x)


1 0 0 1 0 0 1 0 0
2 0 0 2 0 0 2 0 0
3 2 6 3 2 6 3 4 12
4 14 56 4 16 64 4 14 56
5 14 70 5 12 60 5 12 60
TOTAL: 30 132 TOTAL: 30 130 TOTAL: 30 128
Mean:4.4 Mean:4. 33 Mean:4.27
160

Appendix I

USERS MANUAL

SETTING UP THE MAIN SERVER OF THE PROTOTYPE

1. Prepare all the devices needed such


as Keyboard, mouse, Monitor,
Raspberry Pi, Router, UTP cable,
HDMI cable and all the power
supplies.

2. Connect peripherals, HDMI cable to


monitor and raspberry. And plug the
monitor to switch it on.
NOTE: Alternative for the HDMI is the
VGA cable with the VGA to HDMI
converter.

3. Connect the router and the raspberry


pi using the (straight through) UTP
cable.

4. Plug the power adapter of the router


to an outlet or socket then plug the
power connector to the router. And
switch on the router.
161

ACCESSING THE WEB-BASED APPLICATION OF THE MAIN SERVER

1. Open the web browser by clicking the


icon of “Internet” a globe-liked at the
right side of the raspberry pi logo

2. Automatically opens the voting app page


to log in or register

To Register or Create an Account of the Admin

1. Click the green “REGISTER” button

2. Input all the information needed such as


Student/ID number, Name, Username,
Position, Password and the Confirmation of
password. Click the “SUBMIT” button and
automatically return to the login page.

To Log in an Admin’s Account

1. Input the user name and the password by


typing. Then click the blue “SUBMIT”
button.
NOTE: Must be registered as an admin of any
position OSA admin, COMSELEC PRES,
COMSELEC VP and COMSELEC SEC
162

To View the Leading Candidates

1. Admin must log in first. At the home


button, scroll the page to see the leading
candidates by scrolling the scroll button of
the mouse or dragging down the scroll bar.
Leading candidates are high lightened.

To Edit the Admin’s Information

1. Admin must log in first and click the blue


“EDIT MY INFO” button at the home page of
the web based Voting App and a pop up
window appears. Input all the information
needed such as Student/ID number, Name,
Username, Position, Password and the
Confirmation of password. Click “UPDATE”
button at the bottom right corner of the
window and the system display a message
“You have successfully registered”.

To Manage or Delete the Admins’ Accounts

1. Must log in first and click the first red


“MANAGE ADMIN ACCOUNT” button
at the home page of the web based Voting
App and a pop up window appears.

2. Then click the red “DELETE” button


aligned to the admin account’s name wants
to delete.
163

3. To confirm the deletion, must enter the


password of that account wants to delete
and click “OK“ button.

To Manage or Set the Polling Day

1. Admin must log in first and click the


second red “MANAGE POLLING
HOURS” button at the home page of the
web based Voting App and a pop up
window appears. an admin can now
delete and add or set the Start and end
time and date of the polling day.

a. To delete the set start-end time and date of polling

1. Click the red “DELETE” button aligned


to the start-end time wants to delete.

b. To add or set start-end time and date of polling

1. Fill up all the information and then click


the blue “ADD” button to successfully
set the start-end time along with the date
of polling day
164

To Set the Maximum Number of Votes

1. Admin must log in first and click the


third red “SET MAXIMUN NUMBER
OF VOTES” button at the home page
of the web based Voting App and a pop
up window appears.

2. On the pop up window, input a


maximum number of senators and
governors to be voted by the voter.
Click the green “SUBMIT” button
NOTE: The number inputs must be greater
than zero or 1 and up.

To Export the Summary of Votes and the List of Registered Voter

a. To export the file of the overall results of votes

1. At the home page, click the first green


“EXPORT SUMMARY” button.

2. The system automatically downloads the file


of overall results of votes
165

a. To export the file of the list of registered voter

1. At the home page, click the second green


“EXPORT VOTERS” button.

2. The system automatically downloads the file


of overall results of votes

To Add and Delete the Party list

a. Adding the Party list

1. Admin must log in first and click the


"CANDIDATES" tab beside the HOME
tab at the upper left corner.

2. At the Candidates page, click the blue


"ADD PARTY LIST" button at the
upper right side of the page and the pop
up window appears

3. Input the name of the party list. Then


click blue "ADD PARTYLIST" button
at the bottom right corner of the pop up
window
166

b. Deleting one of the Party list

1. Click the red "DELETE" button


aligned to the name of the party list
wants to be deleted. Then confirms the
confirmation that pops up.

c. Deleting All the Party list

1. Click the "DELETE ALL" button


beside the blue “ADD PARTYLIST”
button and at the top of red “DELETE”
button. Then confirms the confirmation
that pops up.
To Add and Delete the Candidates

a. Adding the Candidates

1. Click the "ADD CANDIDATES"


button and the pop up window appears
and Fill up all the information needed
and upload a photo of the candidate.
Then click blue "ADD CANDIDATE"
button at the bottom right corner of the
pop window.

b. Deleting the Candidates

1. To delete a selected registered voter,


click the check box and click “Delete
Selected” button. To delete all
registered voters, click "DELETE
ALL" button. The confirmation that
pops up click “OK” button.
167

To View the Registered Voters

1. Admin must log in first and click the


"VOTERS" tab between the
“CANDIDATES” tab and the “LOG
OUT” button.

c. Deleting All the Registered Voter

1. Click the red "DELETE ALL" button and


pop up window appears, click “OK” to
confirm deletion of all voters

SETTING UP THE REGISTRATION HOST

1. Prepare the devices or materials needed such


as the registration host, power supply of the
raspberry pi, stylus or mouse, fire wire-USB
cable.

NOTE: Mouse is an alternative to stylus.

2. Connect the raspberry pi and the scanner


using the fire wire-USB cable.
168

3. Plug the power supply of raspberry pi onto the


socket and plug the micro USB B to the
raspberry pi and the raspberry pi
automatically opens

ACCESSING THE SOFTWARE APPLICATION ON THE REGISTRATION HOST

1. Open the application on the desktop by


clicking twice or tapping twice the icon of
"localserver.sh" and the pop up window
appears

2. Click or tap the "EXECUTE" button at the


window.

3. Tap or click the blue "START" button

4. Admin must log in first by facing the QR code


on to the scanner and the details scanned on to
the QR code displays as many asterisk
“******”
169

To Register the Voters

1. With the guidance of the admin or the officials, scan the QR code of the voter by

facing it again on to the scanner and the details on to the QR code displays

NOTE: Admin must not allow to scan the others QR code such as students from different

universities and QR code contains a web links

2. Click or tap the blue "REGISTER


VOTER" button and pop up window
appear. Click close button to go back on
logging in the account of an admin.
NOTE: Pressing the “CLEAR” button, clears
the QR code’s details.

3. The application displays the


"SUCCESSFULLY REGISTERED".
Then click "OK" button at the bottom
right corner of the window.

SHUTDOWN OR CLOSE THE MAIN OR REGISTRATION HOST (RASPBERRY PI)

1. Click the Raspberry Pi logo at the


bottom left corner of the screen.
170

2. Click the “SHUTDOWN and a pop


up window appears.

3. Click or tap the "SHUTDOWN"


button. Wait until the LCD screen
turns white and the yellow light
turns off.

USING THE MOBILE APPLICATION

1. Install the mobile application given by the


officials by tapping the “INSTALL” button at
the bottom right corner of the mobile’s screen
and wait until it is done.

2. Mobile devices must connect to the “Voting


Network” by turning on the WiFi connection and
tap the network. Input the password given by the
officials.
NOTE: Make sure that the Bluetooth and
Data or Mobile Network connection is turned
off.
171

3. Open the mobile application by tapping the icon


“Rpi Voting System”

4. Confirm the “Terms and Condition” by tapping


again the “CONFIRM” button at the pop up
window.

5. Scan the QR code by facing it on the rear camera


of the mobile device and wait for the system
verification.
NOTE: The mobile application works only on
Android phones version 7.0 and up.

6. If the system verifies the QR code is registered


and polling time is activated, the mobile
application allows the voter to vote or select
their preferred candidates by tapping the check
boxes aligned to the information of candidates at
the right side.
Note: The position of senator and governor has a
maximum number to be chosen or voted.
172

7. Tap “SUBMIT” button at the bottom right


corner to submit the votes.
NOTE: If wants to reset the selected candidates,
tap the gray “RESET” button and the mobile
application resets the page. Also “HELP” button
to provide a voter’s manual

8. At the pop up “CONFIRM SUBMISSION”


window, tap “YES” at the bottom right corner to
successfully submit the votes.

9. A message “Vote Submitted!” displays. Then


tap “OK”. The mobile application displays the
voter’s vote summary.
173

Appendix J

CERTIFICATE OF SIMILARITY INDEX USING TURNITIN


174

CERTIFICATE OF ENGLISH CRITIQUE


175

RESEARCHERS’ PROFILE
176

PRINCESS LAURIZ R. BACERO


Block 53 Lot 3 Phase 4 Brgy. Fatima 3
Dasmariñas City, Cavite
09067324184
Pl.bacero234@gmail.com

WORK EXPERIENCE

On-the-Job Training
Maxim Philippines Operating Corporation
Gateway Business Park 4107
General Trias, Cavite
June 1, 2017 – September 29, 2017
Test Product Engineering (TPE) Group

EDUCATIONAL BACKGROUND

Tertiary : Technological University of the Philippines – Cavite


Carlos Trinidad Ave, Salawag, Dasmariñas City, Cavite
Bachelor of Technology major in Computer of Engineering
Technology (BT-CoET)
2015 – 2019

SKILLS AND QUALIFICATIONS

 Computer Networking
 Computer Maintenance
 Good Typing Skill

PERSONAL INFORMATION

Date of Birth : August 22, 1999


Age : 19 years old
Sex : Female
Civil Status : Single
177

KATRINA PAULA G. BALBUENA


Phase 2 block 26 lot 10-11 Marycris Complex
Pasong Camachile II, General Trias, Cavite
09753781927
Khat24balbuena@gmail.com

WORK EXPERIENCE

On-the-Job Training
Prodatanet Inc.
33rd floor Road A- Burgundy Mckinley Place
Don Galo, Paranaque City
May 2, 2017-August 31, 2017

EDUCATIONAL BACKGROUND

Tertiary : Technological University of the Philippines – Cavite


Carlos Trinidad Ave, Salawag, Dasmariñas City, Cavite
Bachelor of Technology major in Computer of Engineering
Technology (BT-CoET)
2015 – 2019

Secondary : Kin Yang Academy


Don Placido, Goldenville II, Sabang Dasmariñas, Cavite
2011-2015

SKILLS AND QUALIFICATIONS

 Computer Networking
 Computer Maintenance
 Computer Literate (Microsoft Office Word, Excel, PowerPoint)

PERSONAL INFORMATION

Date of Birth : November 24, 1999


Age : 19 years old
Sex : Female
Civil Status : Single
178

JUDY ANN J. NAPILI


Block 48 Lot 14 Zone VI Bautista,
Sampaloc IV, Dasmariñas City, Cavite
09975646263
ja.napili09@gmail.com

WORK EXPERIENCE
On-the-Job Training
Prodatanet Inc.
33rd floor Road A- Burgundy Mckinley Place
Don Galo, Paranaque City
May 2, 2017-September 5, 2017

EDUCATIONAL BACKGROUND

Tertiary : Technological University of the Philippines – Cavite


Carlos Trinidad Ave, Salawag, Dasmariñas City, Cavite
Bachelor of Technology major in Computer of Engineering
Technology (BT-CoET)
2015 – 2019

Vocational : University of Perpetual Help System – GMA


Brgy. San Gabriel GMA Cavite
Computer Literacy Training Program
2012

SKILLS AND QUALIFICATIONS


 Computer Networking
 Computer Maintenance
 Good Typing Skill
 Capable of editing pictures using Adobe Photoshop
 Computer Literate (Microsoft Office Word, Excel, PowerPoint)

PERSONAL INFORMATION

Date of Birth : July 05, 1999


Age : 19 Years Old
Sex : Female
Civil Status : Single
179

SHERI O. PANTE
Block 2 Lot 25 Zone I Bautista,
Sampaloc IV, Dasmariñas City, Cavite
09665787544
Shey16.ph@gmail.com

WORK EXPERIENCE

On-the-Job Training
De La Salle University
DBB-B, 4115 West Ave.
Dasmariñas City, Cavite
May 2017 – August 2017

EDUCATIONAL BACKGROUND

Tertiary : Technological University of the Philippines – Cavite


Carlos Trinidad Ave, Salawag, Dasmariñas City, Cavite
Bachelor of Technology major in Computer of Engineering
Technology (BT-CoET)
2015 – 2019

Secondary : Dasmariñas National High School - Cavite


Brgy. Burol I Dasmariñas City, Cavite
2011-2015

SKILLS AND QUALIFICATIONS

 Computer Networking
 Computer Maintenance
 Computer Literate (Microsoft Office Word, Excel, PowerPoint)

PERSONAL INFORMATION

Date of Birth : November 6, 1998


Age : 20 years old
Sex : Female
Civil Status : Single

Вам также может понравиться