Employee Attendance Monitoring Using QRCode
Employee Attendance Monitoring Using QRCode
CHAPTER I
INTRODUCTION
learn it every day. This process helped the speed of doing office works and also helped
in decision makings of the company either local and international. With this, computers
continue to make people think smarter in every way. It also makes the offices and school
techniques to have a smooth and rapid operations. In fact, computers are more useful in
terms of calculations and also for storing large amount of information for a long period of
changing the way we work into a better one and improves one ability to communicate.
Attendance is now part of every companies and organization and other activities
being held in different meeting and seminars being attended by the government and non-
help you do well as an employee as well as allows you to be in good standing with your
employer. Being present and on time helps you strengthen your work credibility and
Project Context
The researchers of this study aim to have a real, accurate and well-organized
helping the Human Resource and the Supervisor in checking the present-day
It will give convenience to those people who will use the proposed system
especially the supervisors and facilitators in terms of checking and monitoring the
The purpose of this study is to identify the problems regarding the attendance
monitoring of the Faculty and Staff and to implement what is needed by the school. This
study is to enhance staff and teacher’s attendance performance and school security. This
study will develop a system to help the staff and make their attendance monitoring easy
system, this will provide an easier and faster access to the data of every student and
List the persons who will be benefits and how they will be benefited:
The Admin- This system aims to help the admin by monitoring and recording the
The HR Personnel- This helps the personnel to monitor and record the
The Employee- this system will be a great help to the employees for it will just
took a second to record their attendance day to day without waiting for the Bundy clock
General Objectives
friendly monitoring that will cater the needs of the personnel in recording the attendance
of the employee and to have an accurate record of the time rendered of the employee.
4
Specific Objectives
To record and maintain accurate information on the Time-in and Time-out of the
personnel.
The proposed system include login for the employee with the use of android
device and computer device for the Employee activation and login for administrator side.
The Admin has the privilege to access the administrator area and transaction such as
adding and editing of information panel in the system. The employee will login as a user
and monitoring their classroom’s using QRcode and the system will record the
attendance.
The system is designed with a user security access level and it is responsible on
activate his/her ID Number to Monitoring. Registered employee can only scan for
attendance once for time in and once for time out. The system’s functionality in the
attendance area will be disabled when the attendance is finished. The system is
5
responsible for counting the employee and has the capability to release the required
Definition of Terms
The following technical terms were defined for the readers to understand for the
Administrator. Can create, read, and delete information which will be shown
system.
scripting language that is specifically suited for web development and can be embedded
into HTML.
formatting instructions. This rule tell a web browser how webpage content should in term
System.
Data Flow Diagram. A logical model of the flow of data through a system.
7
CHAPTER II
The review related literature for this thesis involves local and foreign literature
either in books, previous school lesson, web development, website, system and other
forms of media that helps the researchers formulate and analyze the system that is fitted
and relevant to the study. It helps then to get ideas and studies cited in this chapter tackle
development related to study of the employee from the past up to the present land which
serves as the researcher’s guide in developing the project basis on how to start the
Philippines State University DJVV Campus. Those that were also included in this chapter
helps in familiarizing information that are reverent and similar to the present study.
Foreign Literature
(https://www.inettutor.com/source-code/activity-attendance-system-review-of-related-
literature/
8
_BAR_CODE_SCANNER_BASED_STUDENT_ATTENDANCE_MONITORING_SYSTE
M-OF_MALAYSIA’S_SECONDARY_SCHOOL_CAMPUS)
The study aimed to develop a fully customized Bar Code Scanner Based Student
Attendance Monitoring System (SAS) of Malaysia Secondary School Campus using bar
code scanner reader to facilitate the monitoring of employees’ attendance. This study
student attendance plays significant role in order to justify academic outcome of a student
Attendance System (SAS) development team, have identified that teachers and school
Therefore, SAS has been proposed and developed. Need for a tool to systematically keep
the student’s attendance record increased due to increasing number of school students.
Upon completion of SAS, user acceptance testing conducted among potential end users.
Result of UAT shows most of the user satisfied with the system with some minor changes
required.
The said literature gives the researcher the idea of giving certain security
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0194239#sec005
Attendance Monitoring using android device and computer device (2004) made a
comparable thesis on the automation of time attendance that records the time in and time
out of the very employee using a monitoring of the IP camera android based and
computer based. It tends to eliminate the manual recording system of time and attendance
and also include salary computation of each employee based on the time and attendance
reports.
foreign-essay) write in the article. The computer edge of the new employment and
opportunities in the daily inquirer. He started that computer gives you a different feeling
about what is happening in the company business will be highly competitive and
innovative because the computer provides instant information study by cantoma (2004) in
her thesis entitled computer library system to St. James academy started that in manual
system in retrieving main laming security and piling records take place because of the
years gone by Furthermore these file we only kept in envelopes and folder in wooden
The said literature that using android phones in monitoring the attendance in a
way of getting information accurately and time efficient. The researchers used an android
Local Literature
(https://www.researchgate.net/publication/327097779_BIOMETRIC_ATTENDANCE_MO
NITORING_SYSTEM_OF_CAGAYAN_STATE_UNIVERSITY_-
_LASAM_CAMPUS_PHILIPPINES)
attendance. This study followed the framework of Design Science Research for
Information Systems, thus, the researcher identified the problems and issues encountered
in the monitoring of attendance, defined the objectives of the study, designed and
developed the system, deployed and tested, and presented the result of the study. A
combination of Visual Basic 6.0 as the programming language and MS Access as the
Database Management Systems were used in the development of the system. Thus, the
11
overall functionality of the BAMS enables the users to enter data, change and manipulate
the data, get information, and store the data and the information. Username and password
are no longer needed since all transactions use unique fingerprint to validate users.
Furthermore, the BAMS greatly contributes in giving employees’ ease and improving
work values. Likewise, the BAMS is essential in achieving good governance because it
This system gives the researcher a unique way of checking and monitoring the
attendance of the employee at school. It gives them the idea of automating the current
Attendance Monitoring
https://explorable.com/attendance-surveys
One of the most widely utilized survey methods, an attendance monitoring survey
is the systematic gathering of data from the target audience characterized by the
invitation of the respondents and the completion of the questionnaire over the World
Wide Web.
For the past few years, the Internet has been used by many companies in
conducting all sorts of studies all over the world. Whether it is market or scientific
12
research, the attendance monitoring survey has been a faster way of collecting data from
and personal employee attendance. Other than this advantage, the web-based survey also
presents other pros and benefits for anyone who wishes to conduct a survey. However,
one should consider the drawbacks and disadvantages of an online survey method.
CHAPTER III
TECHNICAL BACKGROUND
In this chapter, the proponents discuss about the technology that they are about to
use and the explanation for all those technical development for the proposed system.
The study was conducted to help the personnel of the school in using Employee
know if the company is doing well and the operation is going smoothly. The exact
access way, giving a convenient process by the employee without any hassle. Central
Philippines State University- Don Justo V. Valmayor Campus, it was located in Sitio
Mabuni, Barangay Guadalupe, was the only place in San Carlos City, Negros Occidental
having a School that can cater the needs of the employee’s owner and school attendance.
13
Organizational Chart
This part shows the full organization chart of Central Philippine State University
DJVV Campus highlighted those persons and/or positions that are involved in the project.
Romnick S. Capuyan
HR Head
Faculty Staff
14
This diagram illustrates the process of using Employee Attendance Monitoring System.
User
Time In / Time Out Overview
Adding
Instructor
Matching
QR code Posting
Viewing
QR code
End Viewing
Restored
15
Flowchart
System.
Scan QR code
Matching
Viewing All
Data
End
16
Process.
The proponents have used the Hypertext Market Language (HTML) and
markup language for creating web pages and web applications. With Cascading Style
Sheets and JavaScript, it forms a triad of cornerstone technologies for the World Wide
Web. Hypertext Preprocessor (PHP) is a server-side scripting language designed for web
development. PHP code may be embedded into HTML code, or it can be used in
combination with various web template systems, web content management systems, and
web frameworks.
Figure 1 shows how it easily works for the employee to record its attendance.
Employee will go to the attendance kiosk and scan QR code, the profile will be sent to
Connectivity
17
This discuss the connection to use in running the system, in gathering information
The system is offline, which will not require an internet connection. A scanner is
connected to the main screen which captures the data stored in the code and flows the
information to the server including the timestamp. The QR code contains the employee
Information Resources
A profile is set up through the admin access from the employee’s data of record
including their employee ID number, Full Name, Age, Gender, Address, Birthdate,
Birthplace, Nationality, Status, and Contact Number. All of this information will be
gathered and stored in a QR code that will allow the system to scan and read, then
recognized by the main server. The employee will be given a username and password to
Assessment
This section presents the importance of assessment provided by the system and its
Assessment plays a major role in measuring the efficiency of the system to the
users and to the institution as a tool to help capture the employee’s attendance to deliver
the information to the administrator. It shows how the project work and how the process
done.
and attendance is lessened with a good reporting system. The importance of having an
There are two ways to be used in viewing the information: through the admin
access and the user access. It means that there are two layers in this system.
In order to collect data, the admin records the employee’s timecard with its
personal information. This automatically updates the record and computes the number of
hours they worked. On the other end of the system, the user can log in using their
username and password to keep track of their daily timecards and update some personal
information.
19
CHAPTER IV
METHODOLOGY
This chapter discussed the methods used in the collection and analyses of data.
The methods focus on the experiences of people involved and attempt to understand the
reasons behind certain behavior descriptions. The evaluation was carried out using data
collection techniques and interviews. Generally, we used Spiral Method for the whole
study.
The barcodes would be attached at the mobile device of each employee QR code
and the information that would be embedded in the barcodes will contain unique data of
the employee such as matriculation number, department, faculty, year and all other
important information about the employee. Employees are able to participate in the
20
classroom attendance only by swiping their identity QR code through the barcode reader.
They can view their attendance percentage which will motivate them to control their class
attendance reputation. With real time clock capability of the system, attendance taken
will be more accurate since the time for the attendance taken will be recorded.
System Design
functional teams. The ultimate value in agile development is that it enables teams to
deliver value faster, with greater quality and predictability, and greater aptitude to
respond to change. Scrum and Kanban are two of the most widely used agile
methodologies.
Agile uses an adaptive approach where there is no detailed planning and there is
clarity on future tasks only in respect of what features need to be developed. The figure
During this stage the researchers proposed this study after identifying the problem
of the CPSU Attendance Monitoring in processing of their records daily. It uses manual
procedures and protocols in terms on work. In Planning Stage, the Researchers together
with their adviser plan how to solve the problem. Researchers conducted an interview to
identify the problem of CPSU Attendance Monitoring. Next Stage was designing after
identifying all the problems, the researchers design an application to address the problem
with database for storage of data. And develop it with the needs and accordance of the
end users as what agile method refers. In testing Stage students together with their
adviser had undergone several testing’s for the needs of the end users. And for the
deployment stage the software was accept by the end users that their problems were
22
suctioned by the study and lastly review some functions and errors occur during the
deployment.
Requirements Specification
This process is more on gathering data, tools and information that would help the
researchers build and support the study. The researchers gathered ideas and references
This part shows the evidences that claims of the certain problems encountered by
the respondents to the current manual process of the CPSU Attendance Monitoring.
QUANTITY REMARKS
Performance Response time
Working manually process can cause a delay of giving records
to clients.
The table 1 above shows the evaluation after the researchers conducted an
interview to identify the problem of the CPSU DJVV CAMPUS. It states the problem
OPPORTUNITIES OBJECTIVES
24
A
R
R
E
P
process. Monitoring
AT
FO
IN
IO
M
N
R
To build / develop a
NT
OL
SE
RI
O
U
C
Monitoring in a
E. Delay and errors for data
form of Electronic
entry.
database.
Generate Statistical
In table 2 presents the proposed system based on the cause and effect analysis on
Gantt Chart 1
Activities W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3W4 W1 W2 W3 W4
Chapter I
introduction
Project
Context
Purpose and
Description
Objective
Scope and
Limitation
Chapter II
26
Foreign and
Local Literatures
Foreign and
Local Systems
Chapter III
Technical
Background
Organizational
Chart
Workflow
Chapter IV
Methodology
Requirements
Specification
PIECES
evaluation
framework
Cause and
effect analysis
27
Gantt Chart 2
W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3W4 W1 W2 W3 W4
Activities
Functional
Requirement
Non-
Functional
Requirement
Design of
Software
Systems
Hierarchical
Input-
Process-
Output
Input-
28
Process-
Output
Manual
Flow Chart
Proposed
Flow Chart
Current Data
Flow
Diagram
Proposed
Data Flow
Diagram
Entity
Relationship
Diagram
Developmen
t and Testing
Implementat
ion Result
29
Chapter V
Recommenda
tion
Implementati
on Plan
Budget
Recommenda
tion
Bibliograp
hy
Functional Requirements
The functional requirements highlighted the specific functions that the system
a) Employee information
b) Attendance records
Interface Requirements
Security Requirements
Authorized users are the only one who can add and edit data.
Non-functional Requirements
Security
Log-In Requirements –The administrator can access the system using his/her
password. The admin user has the ability to update and edit records.
area.
Audit
Performance
Response Time – Application loading run (0) to (5) seconds to display on screen.
32
Processing Time –The system recorded the data after saving online.
Query and Reporting time – The system will be used by the different end users
Capacity
Storage –Back end controller is reliable in storing data into the database.
Availability
Reliability
Mean Time Between Failures – If failure occurs, the personnel in-charge can
refer to the user manual or contact any of the system developers for assistance.
problem.
33
Recovery
Recovery Process –The system can be done after troubleshooting depends on the
damage recovery.
Recovery Time Scale –The system can recover depending on the errors.
Compatibility
studio code.
System).
128MB of RAM
Keyboard
Mouse
34
Monitor
Maintainability
Conformance to Design Standards – For the design Vuetify, Vue JS, Bootstrap
4.
Usability
Look and Feel Standards –Screen resolution for at least 1366x768 for proper
viewing of screens.
This shows the flow of significant information and data needed to be inputted into
the system to produce a reliable information output. The design of the system had helped
The diagram in Figure 6 defines the program designs and system flow prior to
implementation. This hierarchical chart serves as a useful and visualization of the system.
Employee Attendance
Monitoring
Employee’s Record
Scan QR Code
Store and Analyze
Input-Process-Output
The diagram in Figure 7 shows various information to input and process so that
Figure 7. Input-Process-Output
Manual Flowchart
This chart shows a sequence of connected steps of the manual process of the
Employee Attendance.
Start
2.0 3.0
1.0 Interview
Application Assignment
1.1 Ask
2.1 Fill up 3.1 Assign the
Information
Application Form Attendance by
about the
Instructor
employee
Signature
38
Proposed Flowchart
This flowchart shows the process of data, where it should start and how it ends.
Start
Log in
No
Valid
?
Yes
Employee’s
Records
Yes No
Exist?
Update Add
Employee’s Employee’s
Save Database
End
Figure 9. Automated Flowchart for Employee Attendance.
Process.
39
Computerized Flowchart
This flowchart shows the process of data, where it ‘should starts and how it ends.
Start
Login
No
Are you an
administrato
r?
Yes No
Admin User/Employee
Time in/Time
Instructor Job order Attendance out
Match?
Fill up employee
form Database
Save
End
40
Dataflow diagrams illustrate how the data processed by the system in terms of
CPSU Manual
Proceed
Survey System
Scan QR Code
Marking Stored
Attendance data
information system.
Intructors Attendance
Id Id
Name Employee_ID
Gender Time_in
Status Status
Work Status Time_out
Remarks Total_Hours
Created_at Timestamp Logs
Id
Action
Content
Created_at
Update_at
Employee
User
Id
Employee_ID Id
Employee_type Name
Employee_ID Username
Email
Passw ord
Attribute6
available and reliable source of hardware devices to be used for the Employee
Philippines State University students, faculty and staff from a web platform programmed
This system was developed using software programs, such as; Wamp Server 2.0,
Bootstrap HTML and JavaScript. MySQL and PHP were used to develop the system.
MySQL was chosen since it was the very fast in information retrieval, advanced features
information system and its ability to easily access and be accessed by the network
The system was tested to find out whether it met the Central Philippines States
University DJVV Campus planning. It was meant to give an insight for the administration
44
to shift from the traditional manual system to an automated system. The system presented
HTML (Hypertext Mark-up Language) forms that the users can access from Google
Chrome.
Implementation of Result
automate the employee attendance of CPSU DJVV Campus. The project was done using
HTML for visible web contents, JavaScript, BOOTSTRAP, PHP for server scripting and
MySQL database to store and manage the records of registered user, researcher and the
survey result. The project was implemented successfully and the result obtain that the
system provides a single management system which integrates all the information about
the user in a single profile and can easily be accessed which improved the overall
How effective and efficient is the Employee Attendance Monitoring for CPSU
Central Philippines State University of San Carlos City, Negros Occidental using
Experts satisfactory rating on the effectiveness, efficiency and usability of the Employee
45
Attendance Monitoring for CPSU Central Philippines State University of San Carlos City
and services were evaluated to assess the functionality of the developed system. For each
question in each area, the respondents answered based on a 5-point Likert scale with the
5=Strongly Agree. Items were totaled for a total score and weighted mean.
Table 3 The Likert’s Scale for Employee Attendance for CPSU Central Philippines State
4 3.41-4.20 Agree
3 2.61-3.40 Neutral
2 1.81-2.60 Disagree
x= 5 * fi + 4 * fi + 3 * fi + 2 * fi + 1 *fi
46
Monitoring for CPSU Central Philippines State University Negros Occidental as assessed
Data Representation
Monitoring for CPSU Central Philippines State University of San Carlos City, Negros
47
Occidental was rated and the respondents strongly agree with the weighted mean of 4.29.
and IT (Information Technology) experts strongly agree with the weighted mean of 4 in
term of the small amount of work is performed over a period of time and strongly agree
that there is no delay in time between transactions and a response to the transaction
information.
data.
48
irrelevant information.
theft or vandalism
Table 5 shows that the overall Information input, output and data storing of the
CPSU Central Philippines State University of San Carlos City, Negros Occidental,
49
Employee Attendance Monitoring was rated and the respondents strongly agree with the
weighted mean of 4.58. The Respondents such as CPSU Central Philippines State
strongly agree with the weighted mean of 4.42 in terms of the forms used were accurate in
capturing data because forms don’t lack the required information which the user would
fill-in and strongly agree that the forms used to capture data was not redundantly saved
because system won’t allow forms containing the same information with the weighted
mean of 4.75. The respondent and IT (Information Technology) expert agree that the
required forms of the system don’t lack of capture data with the weighted mean of 4.17
and strongly agree in terms of information the report contain complete information with
the weighted mean of 4.33. The respondent and IT (Information Technology) expert
strongly agree that the report doesn’t contain too much information which is not needed
with the weighted mean of 4.83 and strongly agree that the reports doesn’t contain
unnecessary and irrelevant information with the weighted mean of 4.92. And in terms of
storing data the system provides accurate information with the weighted mean of 4.75.
The respondent and IT (Information Technology) expert agree that the data/information is
secured from accident, theft or vandalism with the weighted mean of 4.92 and strongly
agree in terms of data/information storing the multiple files and/or databases doesn’t
system.
Table 6 shows that the economic cost of the CPSU Central Philippines State
University of San Carlos City, Negros Occidental was rated and the respondents strongly
agree with the weighted mean of 4.75. The Respondents such as IT (Information
Technology) experts strongly agree with the weighted mean of 4.58 in term of the costs
are not expensive to operate the system and Agree that the supplies and materials for
needed are sufficient for deployment with the weighted mean of 4.92
excessive.
Table 7 shows that the overall Control and Security of the CPSU Central
Philippines State University of San Carlos City, Negros Occidental was rated and the
respondents strongly agree with the weighted mean of 4.75. The Respondents such as and
IT (Information Technology) experts agree with the weighted mean of 4.5 in terms of
operating the system the input data/information is adequate. Strongly agree that the data
or information is secured for authorized access with the weighted mean of 4.75 and
strongly agree in terms of data privacy regulation or guidelines are not violated with the
weighted mean of 5.
52
excessive.
Table 8 shows that overall Efficiency of CPSU Central Philippines State University
of San Carlos City, Negros Occidental was rated and the respondents strongly agree with
experts agree with the weighted mean of 4.5 in terms of data inputted or copied and agree
that the data is not redundantly processed with the weighted mean of 4.17. And in terms
strongly agreed with weighted mean of 4.92. The system is moderate for the required task
effort with the weighted mean of 4.33 and strongly agree in terms of the system is
excessive in materials required for every task with the weighted mean of 4.42.
4. The system is not easy to learn & use. 4.75 Strongly Agree
Table 9 shows that overall Service of the the Respondents such as CPSU Central
Philippines State University Negros Occidental was rated and the respondents strongly
54
agree with the weighted mean of 4.43. Agree in terms of result the system produces
accurately with the weighted mean of 4.17 and the respondents and IT (Information
Technology) expert were strongly agree that the system produced consistent result with
the weighted mean of 4.25, then strongly agree when it comes of reliable result with the
weighted mean of 4.58. The respondents and IT (Information Technology) expert were
strongly agree that the system is easy to learn and use with the weighted mean of 4.75 and
strongly agree in terms of exceptional situations or changes the system is flexible to deal
Table 10. Grand Mean of the Responses of the End-Users and IT Experts on PIECES
Software Evaluation for the Effectiveness, Efficiency and Usability of the developed
Attendance Monitoring
55
Table 10 shows the overall weighted mean of the evaluation conducted by the
researcher to the end users. Based on Performance throughout and response time,
information input, output and data storing, the control, security, and efficiency of the
system and services, the respondents strongly agree that the Employee Attendance
agree in effective, efficient and usable with the grand mean of 4.61.
56
CHAPTER V
Evaluating the project is necessary and very essential part in creating a capstone
project because this activity will test the accuracy, functionality, acceptability, user
friendly and the impact of the system to the end users. This also identifies if the
57
developers had met the desired objectives, the scope and if the end users will be satisfied
about the outcome of the system that the proponents have created. This activity is very
essential because through feed-back from the end-users, the developers could identify if
the system they have created is ready for usage or there are things to be fixed or
The persons that are going to be the respondent of the system includes faculty
and staff of Central Philippines State University DJVV Campus. The criteria for
All respondents were asked to test and rate the system accordingly. They were
given the scale of 1 to 5. 1 Need improvement; 2- Poor; 3- Good; 4- Very Good; and 5
Excellent. The mean for the functionality is equal to 4.50, and for the design is 4.45.
Implementation Plan
The user should be oriented about the functionalities and how to use the system
before implementing it. With the use of the system manual the users will be guided on
The system will be implemented during the attendance of the employee in the
The system should be checked for some errors and bugs before the
implementation.
Budget Recommendation
The researchers highly recommend to exhibit the project because of its unique
design and functionality. The school is encouraging to use the automated Employee
Attendance Monitoring System. Through this kind of system, we can make the
attendance easier and faster, because the Instructor will directly send their attendance to
the system.
Table 11 shows The Budget Recommendation for the Implementation of the System.
(Php) (Php)
59
Hardware:
Supplies:
The Budget Recommendation states the amount used in developing the system.
The Recommendation budget will help the beneficiary to prepare how much they need
BIBLIOGRAPHY
processes and methods of conducting survey research and is a valuable source for
61
relevant examples with exercises at the end of each chapter together with a very helpful
section “Preparing for Data Analysis” where it provides simple instructions on the use of
SPSS.
Jersey: Wiley. 480p. ISBN: 9780470603567. Delving into the theoretical and practical
aspects of web attendance monitoring surveys this book provides theory, real life
examples, to time in and time out to the company terms and exercises including datasets.
The first introductory chapters give samples of the first web surveys together with some
complications exclusive to web surveys, and the practical advise on design and data
collection methodology.
those who want to dig into conducting questionnaire research as quickly as possible. Each
chapter’s content is presented through a balance of succinct text and clear examples,
APPENDICES
64
The objective of this system is to take and store the resident’s information in a
form of Electronic database using MySQL (Structured Query Language). The system was
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;
use Illuminate\Database\Eloquent\Builder;
66
use App\Attendance;
use App\Employee;
use App\Instructor;
use App\JobOrder;
use App\Log;
use Illuminate\Support\Carbon;
use stdClass;
use Symfony\Component\Mime\Encoder\ContentEncoderInterface;
class AttendanceController extends Controller
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
67
*/
public function index()
{
$attendances = Attendance::whereDate('created_at', Carbon::today())->get();
foreach ($attendances as $item) {
$employeable = Employee::where('employee_id', $item->employee_id)->first();
$employee = $employeable->employeable_type::find($employeable->employeable_id);
$item['employee'] = $employee;
}
return $attendances;
}
public function getAllEmployee()
{
return Employee::latest()->get();
68
}
public function getAllLogs()
{
return Log::whereDate('created_at', Carbon::today())->latest()->get();
}
public function getAllLogSet(Request $request)
{
return Log::whereDate('created_at', $request['date'])->latest()->get();
}
/**
* Store a newly created resource in storage.
*
69
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'employee_id' => 'required',
]);
$check = Employee::where('employee_id', $request['employee_id'])->exists();
$log = Attendance::where('employee_id', $request['employee_id'])->whereDate('created_at', Car
bon::today())->exists();
if ($check) {
if ($request['time_out'] === false) {
70
if ($log) {
throw ValidationException::withMessages(['status' => 'This employee ALREADY TIME
D IN today!']);
}
} else {
$log = Attendance::where('employee_id', $request['employee_id'])->whereDate('time_out',
Carbon::today())->exists();
$login = Attendance::where('employee_id', $request['employee_id'])->whereDate('time_in',
Carbon::today())->exists();
if ($log) {
throw ValidationException::withMessages(['status' => 'This employee ALREADY TIME
D OUT today!']);
} else if (!$login) {
throw ValidationException::withMessages(['status' => 'This employee DID NOT TIME I
N today!']);
} else {
71
$now = Carbon::now();
$attendance = Attendance::where('employee_id', $request['employee_id'])-
>whereDate('created_at', Carbon::today());
$record = $attendance->first();
$time_in = $record->time_in;
$diff = $now->diff($time_in)->format('%H:%I:%S');
$attendance->update(['total_hours' => $diff]);
$attendance->update(['time_out' => $now]);
if ($attendance) {
$object = new stdClass;
$employeable = Employee::where('employee_id', $request['employee_id'])->first();
$employee = $employeable->employeable_type::find($employeable-
>employeable_id);
$object->employee = $employee;
72
$log = Log::create([
'action' => 'Time-Out',
'content' => $object
]);
$attendance = $attendance->get();
$attendance['log'] = $log;
$attendance['employee'] = $employee;
}
return $attendance;
}
}
$now = Carbon::now();
$schedule = $now->copy()->startOfDay()->addHours(7)->addMinutes(30);
if ($now->diffInSeconds($schedule)) {
73
$dif = $now->diff($schedule);
$status = $dif->h . ':' . $dif->i . ':' . $dif->s;
} else {
$status = null;
}
$attendance = Attendance::create([
'employee_id' => $request['employee_id'],
'time_in' => $now,
'status' => $status
]);
if ($attendance) {
$object = new stdClass;
$employeable = Employee::where('employee_id', $attendance->employee_id)->first();
74
$employee = $employeable->employeable_type::find($employeable->employeable_id);
$object->employee = $employee;
$log = Log::create([
'action' => 'Time-In',
'content' => $object
]);
$attendance['log'] = $log;
$attendance['employee'] = $employee;
}
return $attendance;
} else {
throw ValidationException::withMessages(['status' => 'This Qr Code does not exist!']);
}
}
75
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
76
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
77
{
//
}
<?php
namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Instructor;
78
use App\Employee;
class InstructorController extends Controller
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$instructors = Instructor::latest()->get();
return $instructors;
}
79
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'employee_id' => 'required|unique:employees',
'name' => 'required|string|max:191',
'gender' => 'required',
'status' => 'required',
'work_status' => 'required',
'remarks' => 'required',
80
]);
$instructor = Instructor::create([
'name' => $request['name'],
'gender' => $request['gender'],
'status' => $request['status'],
'work_status' => $request['work_status'],
'remarks' => $request['remarks'],
]);
if ($instructor) {
$employee = Employee::create([
'employee_id' => $request['employee_id'],
'employeable_type' => 'App\Instructor',
'employeable_id' => $instructor->id,
81
]);
}
$instructor->employee;
return $instructor;
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$instructor = Instructor::findOrFail($id);
82
return $instructor;
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
83
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
84
import axios from "axios";
const state = {
allAttendance: [],
allEmployee: [],
logs: []
};
const getters = {
getAllAttendance: state => state.allAttendance,
85
getAllEmployee: state => state.allEmployee,
getLogs: state => state.logs
};
const actions = {
async fetchAllAttendance({ commit }) {
const response = await axios.get("api/attendance");
commit("setAllAttendance", response.data);
},
async fetchAllEmployee({ commit }) {
const response = await axios.get("api/employee");
commit("setAllEmployee", response.data);
},
86
async fetchLogs({ commit }) {
const response = await axios.get("api/logs");
commit("setLogs", response.data);
},
async addAttendance({ commit }, attendance) {
await axios
.post("api/attendance", attendance)
.then(response => {
commit("newAttendance", response.data);
if (attendance.time_out) {
Swal.fire(
"Good job!",
"You successfully TIMED OUT!",
"success"
87
);
} else {
Swal.fire(
"Good job!",
"You successfully TIMED IN!",
"success"
);
}
})
.catch(err => {
console.log(err.response.data);
if (err.response.data.errors.status) {
}
Swal.fire({
icon: "question",
88
title: "Oops...",
text: err.response.data.errors.status[0]
});
});
},
async fetchLogSet({ commit }, date) {
const response = await axios.post("api/logset", {
date: date
});
commit("setLogs", response.data);
}
};
const mutations = {
89
setAllAttendance: (state, attendance) => {
attendance.forEach(item => {
state.allAttendance.push({
id: item.id,
employee_id: item.employee_id,
name: item.employee.name,
position: item.employee.position_title,
in: item.time_in,
out: item.time_out,
status: item.status,
hours: item.total_hours
});
});
},
setAllEmployee: (state, employees) => (state.allEmployee = employees),
90
setLogs: (state, logs) => (state.logs = logs),
newAttendance: (state, attendance) => {
state.allAttendance.unshift({
id: attendance.id,
employee_id: attendance.employee_id,
name: attendance.employee.name,
position: attendance.employee.position_title,
in: attendance.time_in,
out: attendance.time_out,
status: attendance.status
});
state.logs.push(attendance.log);
}
};
91
export default {
state,
getters,
actions,
mutations
};
HTML VUEJS
<template>
<v-app>
<v-app-bar app dark color="indigo">
<v-toolbar-title>amsys</v-toolbar-title>
92
<v-spacer></v-spacer>
<v-btn text href="/home" class="text-decoration-none">
<v-icon left>mdi-cogs</v-icon>Settings
</v-btn>
</v-app-bar>
<v-content>
<v-card width="450" class="mx-auto mt-5 pt-8">
<v-card-title class="headline justify-md-center">ATTENDANCE LOG</v-card-title>
<div class="text-center">
<vue-clock />
<p class="pa-2 title font-weight-bold">{{new Date | dayDate}} {{dayDate}}</p>
</div>
<v-card-text>
<v-flex class="text-center">
93
<v-btn @click="scannerOpen(false)" dark color="blue" x-large class="mr-3">Time In</v-
btn>
<v-btn @click="scannerOpen(true)" dark outlined color="black" x-large>Time Out</v-btn>
</v-flex>
</v-card-text>
</v-card>
<!-- Scanner Overlay -->
<v-overlay :dark="false" :value="overlay_scanner">
<v-card flat tile width="450">
<v-card-text>
<div class="camera">
<qrcode-stream @decode="onDecode"></qrcode-stream>
</div>
<div v-if="code" class="text-center mt-3">
94
<p class="subtitle-1 font-weight-bold">Employee ID: {{code}}</p>
</div>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn dark color="red" @click="overlay_scanner = false">Close</v-btn>
</v-card-actions>
</v-card>
</v-overlay>
</v-content>
<v-footer app dark>
<span>© 2019</span>
</v-footer>
</v-app>
95
</template>
<script>
import { mapActions } from "vuex";
export default {
data() {
return {
time_out: false,
overlay_scanner: false,
code: "",
new_attendance: new Form({
employee_id: "",
time_out: null
})
96
};
},
computed: {
dayDate() {
let d = new Date();
var weekday = new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";
return weekday[d.getDay()];
97
}
},
methods: {
...mapActions(["addAttendance"]),
scannerOpen(action) {
console.log(action);
this.new_attendance.time_out = action;
this.overlay_scanner = true;
},
onDecode(decodedString) {
this.code = decodedString;
this.new_attendance.employee_id = decodedString;
98
this.addAttendance(this.new_attendance).then(() => {
this.overlay_scanner = false;
this.code = null;
});
}
}
};
</script>
<style lang="scss" scoped>
.attendace-card {
background: rgb(9, 4, 99);
background: linear-gradient(
99
135deg,
rgba(9, 4, 99, 1) 42%,
rgba(29, 29, 133, 1) 61%,
rgba(70, 132, 244, 1) 100%
);
.employee-card {
background: rgb(139, 8, 34);
background: linear-gradient(
135deg,
rgba(139, 8, 34, 1) 44%,
rgba(213, 11, 60, 1) 76%,
rgba(222, 39, 75, 1) 100%
);
100
.faculty-card {
background: rgb(4, 88, 98);
background: linear-gradient(
135deg,
rgba(4, 88, 98, 1) 44%,
rgba(25, 129, 148, 1) 76%,
rgba(85, 196, 241, 1) 100%
);
.job-order-card {
background: rgb(179, 52, 6);
background: linear-gradient(
101
135deg,
rgba(179, 52, 6, 1) 44%,
rgba(190, 123, 6, 1) 76%,
rgba(235, 124, 12, 1) 100%
);
</style>
<template>
<v-container>
<v-toolbar dense flat>
<v-toolbar-title class="subtitle-1 font-weight-bold">OVERVIEW</v-toolbar-title>
</v-toolbar>
<v-row dense class="d-flex">
<v-card dark width="150" height="65" class="mx-2 my-1 attendace-card">
102
<v-list-item>
<v-list-item-content>
<v-list-item-title>
<v-icon size="30" left>mdi-alpha-a-circle</v-icon>
<span class="title">{{getAllAttendance.length}}</span>
</v-list-item-title>
<v-list-item-title class="subtitle-2 font-weight-bold">Attendance</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-card>
<v-card dark width="150" height="65" class="mx-2 my-1 employee-card">
<v-list-item>
<v-list-item-content>
<v-list-item-title>
103
<v-icon size="30" left>mdi-alpha-e-circle</v-icon>
<span class="title">{{getAllEmployee.length}}</span>
</v-list-item-title>
<v-list-item-title class="subtitle-2 font-weight-bold">Total Employee</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-card>
<v-card dark color="teal" width="150" height="65" class="mx-2 my-1 faculty-card">
<v-list-item>
<v-list-item-content>
<v-list-item-title>
<v-icon size="30" left>mdi-account-multiple</v-icon>
<span class="title">{{getAllInstructors.length}}</span>
</v-list-item-title>
104
<v-list-item-title class="subtitle-2 font-weight-bold">Faculty</v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-card>
<v-card dark color="orange darken-3" width="150" height="65" class="mx-2 my-1 job-order-
card">
<v-list-item>
<v-list-item-content>
<v-list-item-title>
<v-icon size="30" left>mdi-account-multiple</v-icon>
<span class="title">{{getAllStaffs.length}}</span>
</v-list-item-title>
<v-list-item-title class="subtitle-2 font-weight-bold">Job Order Staff</v-list-item-title>
</v-list-item-content>
105
</v-list-item>
</v-card>
</v-row>
<v-row class="mt-3" dense>
<v-col cols="12">
<v-card flat>
<v-card-text>
<v-data-table
:items="getAllAttendance"
:headers="headers_attendance"
:search="search"
:items-per-page="5"
>
<template v-slot:top>
106
<v-toolbar dense flat>
<v-toolbar-title class="subtitle-1 font-weight-bold">ATTENDANCE</v-toolbar-title>
<v-spacer></v-spacer>
<v-text-field
v-model="search"
prepend-inner-icon="mdi-magnify"
label="Search"
hide-details
dense
solo
rounded
></v-text-field>
</v-toolbar>
</template>
107
<template v-slot:item.in="{ item }">{{item.in | timeLong}}</template>
<template v-slot:item.out="{ item }">
<span v-if="item.out">{{item.out | timeLong}}</span>
</template>
<template v-slot:item.status="{ item }">
<v-tooltip v-if="item.status" bottom>
<template v-slot:activator="{ on }">
<span v-on="on" class="subtitle-2 font-weight-bold red--text">LATE</span>
</template>
<span>{{item.status}}</span>
</v-tooltip>
</template>
</v-data-table>
</v-card-text>
</v-card>
108
</v-col>
</v-row>
</v-container>
</template>
<script>
import { mapActions, mapGetters } from "vuex";
export default {
created() {
this.fetchAllInstructors();
this.fetchAllStaffs();
this.fetchAllAttendance();
this.fetchAllEmployee();
},
109
computed: {
...mapGetters([
"getAllInstructors",
"getAllStaffs",
"getAllAttendance",
"getAllEmployee"
])
},
data() {
return {
search: null,
headers_attendance: [
{ text: "Id", value: "employee_id" },
110
{ text: "Name", value: "name" },
{ text: "Position", value: "position" },
{ text: "Time-In", value: "in" },
{ text: "Time-Out", value: "out" },
{ text: "Status", value: "status" },
{ text: "Total Hours", value: "hours" }
]
};
},
methods: {
...mapActions([
"fetchAllInstructors",
"fetchAllStaffs",
"fetchAllAttendance",
111
"fetchAllEmployee"
])
}
};
</
script >
Figure 1: Sublime
113
D.1.Survey Questionnaire.
MONITORING
AGE:
Department:
Position:
116
This is a survey question to determine the Effectiveness, Efficiency and Usability of the
1. Forms used were accurate in capturing data because forms don’t lack the 1 2 3 4
2. Forms used to capture data was not redundantly saved because system won’t allow 1 2 3 4
terms of Efficiency
terms of Service
--GOD BLESS--
120
D.2. Pictures
121
The IT (Information Technology) Experts checked and evaluated the researcher’s system.
122
USER’S GUIDE
BIOGRAPHICAL SKETCH
PERSONAL INFORMATION
E-mail : [email protected]
EDUCATIONAL BACKGROUND
AFFILIATIONS IN ORGANIZATIONS
BIOGRAPICAL SKETCH
PERSONAL INFORMATION
Nickname : BRIX, JB
E-mail : [email protected]
131
EDUCATIONAL BACKGROUND
AFFILIATIONS IN ORGANIZATIONS