Senior Citizen Web-Based Profiling System
Senior Citizen Web-Based Profiling System
Senior Citizen Web-Based Profiling System
the office of Senior Citizen in Malita Davao Occidental. Senior Citizen Web-
purpose such as easy and fast inquiry of information in the office. This
study, covers the changes from manual to automate in which the user are
guided the researchers in the development of the study and helped them
organized the work flow of each task. The result indicated that the
website was efficient in all aspects mentioned. It is recommended that the
the facility for searching the master list of all senior citizen’s. The system
MAY 2018
APPROVAL SHEET
There are several of people without whom this study might not had
been written, and to whom the researchers greatly indebted.
Dalam, IT Instructor, for the effort, time and guidance in which she
for knowing when to push and when to let up. To the researchers’
parents, who continued to believe, and develop the researchers; who has
been the source of inspiration to them throughout their life. A very special
thank you for providing a writing space and for nurturing through the
roles along the journey, as they engaged in making sense of the various
would like to take this opportunity to offer their sincere thanks to all the
DEDICATION
The researchers’ dedicates this study to their Family, whose
support and inspirations has brought this far. For the good parental care
achievement.
TABLE OF CONTENTS
PRELIMINARY PAGES PAGE
ABSTRACT i
TITLE PAGE ii
APPROVAL SHEET iii
ACKNOWLEDGMENT iv
DEDICATION vi
TABLE OF CONTENTS vii
LIST OF TABLES x
LIST OF FIGURES xi
LIST OF APPENDICES xii
CHAPTER
IV METHODOLOGY
Research Locale 19
Population of the Study 20
Operational Feasibility 20
Technical Feasibility 23
Compatibility Checking 24
Relevance of the Technology 25
Schedule Feasibility 26
Economic Feasibility 27
Cost and Benefit of the Project 27
Data and Processing Modeling 29
Object Modelling 34
Data Design 39
Data Dictionary 40
Security 44
Software Specification 45
Hardware Specification 46
Programming Environment 47
Test Plan 48
BIBLIOGRAPHY
APPENDICES
CURRICULUM VITAE
LIST OF TABLES
TABLE PAGE
FIGURE PAGE
3 Gantt Chart 26
5 System Flowchart 30
10 Class Diagram 35
APPENDEX PAGE
Introduction
task in the global and in daily experience. Office procedures are done
automation is a big contribution to help and reduce task and give effect to
manages the registration to make work easier and less hustle for the
golden age. People who are more than sixty years of age are commonly
whose stage in life is generally called old age, though there is no precise
way to identify the final stage of a normal life span. People are said to be
senior citizens when they reach the age of sixty or sixty-five because
those are the ages at which most people retire from the workforce.
time due to large numbers of citizen’s due to poor record keeping since it
both large and small system have adopted the new method by use of
a. Registration
the Office of the Senior Citizen Affairs Malita, Davao Occidental and cope
data. Thus, the following element has been significantly benefited with
this system. By using this web-based profiling, all the seniors of Malita,
Davao Occidental will have fast and reliable transactions when it comes to
Office staff the system can give the staff reliable to prepare and generate
reports. Senior Citizens for the senior citizen, they do not have to worry
anymore in case they forget to bring their identification cards with them
This study was basically designed for Senior Citizen Office that
process, and provides reports for information per barangay and counts the
view master list, update pension viewing per member and posting
Manual - Refers to the old system used by the staff of Senior Citizen
Office.
Office Staff - Refers to the office personnel that caters the transactions
based on the user’s interests and preferences which are typically stored in
user profiles. For such systems to remain effective, the profiles need to be
able to adapt and reflect the users’ changing behavior. In this paper, we
(FBI) has recently expanded the CODIS core loci from the existing 13 to
shares all the core loci commonly used in the European countries and the
US, not only increases international compatibility, but also reduces the
Global Filer™ PCR Amplification Kit from Applied Bio systems, and the
that Global Filer displays the highest sensitivity among the tested kits,
inhibitors including Humic acid and Tannic acid. Global Filer and Fusion
6C, on the other hand, yield DNA profiles with better heterozygous peak
height and intra-color signal balance. Both Global Filer and Investigator
has demonstrated that these three profiling systems have their different
should select the most suitable kits according to their own requirements
According to Viejo et. al., (2017) the rise of the Internet and Web
situation may provoke concerns to the users worried about their privacy.
maintaining her publications intact in order to interfere the least with her
with terms semantically correlated with user posts to distort and, hence,
hide the real profile. Our method has been tested using Twitter, a very
this new scheme effectively distorts user profiles, producing uniform (i.e.
their interests.
allowing the user to make the best choice according to his or her own
to the user interface and filters the product domain to present a set of
network for collecting, storing, and providing user profile data. The
The persona agents and the hub are stored within the data
collecting, storing, and providing user profile data. The network comprises
and the hub are stored within the data communications network. Each
being executed by the user, as well to receive queries for profile data
profile data.
Carl et. al., (2015) a system and method are provided for use with
information such as the number of time a site has been accessed, and the
portable information storage devices, such as, for example, smart cards
facilities identified and selected by the visitor. The system further includes
means for allowing the visitor to select a particular site, exhibit or item of
interest and for recording an index relating to the selection in the interest
particular visitor. Preferably, the system further includes means, such as,
for example, an informational kiosk, for reading the stored indexes from
the portable information storage devices and for retrieving the collected
receiving, over a network, a profile request from a user device, the profile
request identifying at least one establishment from a plurality of pre-
device, the demographic profile data being adapted to cause the user
the use
segments for the customers. The segments are created and modified
segments.
CHAPTER III
TECHNICAL BACKGROUND
senior citizen related transactions. The office is currently using type writer
for storing and retrieving seniors’ profile that is being saved manually. The
used by PHP language, HTML scripts, Xamp server and bootstrap. The
study also need at least two developers that will create the web-based
profiling system can record and deliver services like the manual process,
but this system more accurate and automated. The system is capable of
the most accurate and efficient way. With help of the system, Senior
citizen and staff of the office minimize their efforts. For the software, the
base unit of the system is the computer, wherein the software and other
helps the developer to build the system. The standard markup language
for creating web pages and web applications with Cascading Style Sheets
Wide Web. CSS (Cascading Style Sheet) was used to support designs and
validation tool.
and interactive Web pages and provides a link the interfaces of the SQL
databases. XAMP was also used to run and create web applications with
Web. For the graphical user interface of the system, Adobe Photoshop
CS3 was used to create icons and create stunning images. Sublime, is a
text editor for code, markup, and prose with the complete features of this
program.
helped and cooperation of the office staffs, the necessary data and
information needed for the creation of the system have been collected.
analysis. With the use of data being gathered, the researchers have
analyzed the project well and proposed the necessary module needed for
system. After the system has been thoroughly designed, the researchers
are then written, tested, documented. After the installation of the system,
the researchers checked whether the study has met the client's
World Wide Web in order for it to serve its purpose. The users must log in
can create a user to login to the system with authentic credentials, the
seniors will not have to log in but they can view necessary details on the
website. Only the administrator can update pension in the web-based
profiling system.
CHAPTER IV
METHODOLOGY
Research Locale
The system was conducted and installed at Senior Citizen Office
The study covers Senior Citizen Office that includes: the staff which
Officer who will be the Administrator of the system. The senior citizen can
view the home page of the website upcoming activities and upcoming
announcements.
Operational Feasibility
The management supports the study they give data as well as they
wanted to improve the operation in the office from the tradition to the
new system to have reliable transactions. Republic Act no. 9994 an act
benefits and special privileges and for other purposes. The management
should conduct a training session to those illiterate one for the awareness
from the start. Senior Citizens won’t experience any problem in inquiring
all the transactions. The Senior Citizens will be using the new system for
good result that can enhance the image of the company because of its
Figure 2 shows the process of starting at the high level and dividing
before they can register. The administrator is the one who can edit, delete
and has the responsibility for monitoring citizen's data. The citizens were
responsible for fills up the data required that was needed before
of this study have analyzed the flow of the project more efficiently when it
Web-based system to run the module in any type of operating system but
the homepage anywhere they go. Still, if they can’t access the internet
they can go to the office and follow the standard operating procedure of
For this new system has the sufficient capacity for future needs by
the software and hardware are all reliable inside a computer to come up a
good function. The combination and supply of the software and hardware
Manpower holds the program and the compatibility of the hardware and
software that is used if needed so that it will work. A check mark () was
used to check the box with a compatible result and wrong mark (x) that
Operating Web
Computer
System Browser
GOOGLE
CHROME
SYSTEM MOZILLA
PC WIN 7
FIREFOX
INTERNET
EXPLORER
Senior citizen
web-based
profiling System
Relevance of the Technologies
Senior Citizens and their office staffs benefit from newer techniques that
are less invasive and more dependable than the years of the past.
Figure 3 shows the development time frame of the system from the
2017 2018
Activity
Task Ju Ju Au Se Oc No De Ja Fe Ma Ap May
n l g p t v c n b r r (Weeks)
1 2 3 4
Requirements
Design
Implementatio
n
Verification
Maintenance
Documentation
and benefits associated with the proposed project. The capital cost of a
capital expenditure.
`
Cost and Benefit of the Project
included in the overall cost of the project. It shows that the tangible and
Costs
administrator and staff must first input their username and password. It
validates login in all login modules, confirm transaction like updating and
website and create master list are all shows under output.
Demographi
c profile
senior citizen web-based profiling system. It starts in the login page, the
Under manage member, the administrator can add, and update member's
record. It can manage staff, add, edit, and update records while in
profiling system. The office staff can manage the system, it can register,
staff can log in the system by using the username and password given by
the administrator. Only the office administrator can update pension of the
system.
the system, its environment, and entities that interact with it. As shown in
the figure, the administrator can manage the system it can add, update,
print, create office records by using this system and it can create user.
The office staff provides citizen’s copy and register members it can also
add, update profiles of the members. The members (senior citizens) can
view the system homepage and also the announcements posted to the
website.
the system and interacts with its entities. Using this diagram it determine
the administrator user, office staff user and senior citizen. The
administrator and staff information login determine and validate the user
type information by using the username and password. The user staff can
members of the senior citizens can visit the homepage to view the
Administrator
Information
Manage Senior
Citizen Profiling
User Name, Password System
Citizen Information
Citizen Information
Homepage Information
Website Information
Information
interaction with the system and depicting the specification of a use case.
The senior citizens can visit the web site homepage to view the
diagram will help the researchers in determining the activity flow of each
process and function that will be relevant to the completion of this project.
system.
the diagram, the system interacts with the user of the system. It includes
of the members, create user role and manage the system. Only the
administrator can update the monthly pension of the member. The office
staff serves as office clerk. The staff can log in using the given password
can manage the member, create user role and manage also the system.
transactions. It does not include the data that flows into the system.
play a vital role in developing this system. From citizen to citizen's profile,
important.
The data dictionary is a centralized repository of information about such as meaning, relationship to
other data, origin, usage, and format. Below is the list of tables.
id Id of ser AI PK
fullname Fullname Varchar(45) Xxxxxxxx Y
Tbl_user
password password Varchar(45) Xxxxxxxx Y
image image Varchar(45) Xxxxxxxx Y
user role user type Varchar(45) Xxxxxxxx Y FK
id AI PK
quarter_pension Varchar(45) Xxxxxxxx Y
year Account Identification Varchar(45) Xxxxxxxx Y
Tbl_budg month pension Varchar(45) Xxxxxxxx Y
et status year Varchar(45) Xxxxxxxx Y
date_updated month Varchar(45) Xxxxxxxx Y
status Varchar(45) Xxxxxxxx Y
date_updated Varchar(45) Xxxxxxxx Y
Profile Id_no Id of citizen AI PK
fname First Name of Citizen Varchar(45) Xxxxxxxx Y
mname Middle Name of Citizen Varchar(45) Xxxxxxxx Y
lname Last Name of Citizen Varchar(45) Xxxxxxxx Y
brngy Barangay Name Varchar(45) Xxxxxxxx Y
gender Gender of Citizen Varchar(45) Xxxxxxxx Y FK
dob Date of birth Varchar(45) Xxxxxxxx Y
date_issue Date Issued Varchar(45) Xxxxxxxx Y FK
img Image of Citizen Varchar(45) Xxxxxxxx Y
category Existing or None Existing Varchar(45) Xxxxxxxx Y
tbl_anno Id Id of announcement AI PK
uncemen subject Subject post Varchar(45) Xxxxxxxx Y
t post Post announcement Varchar(45) Xxxxxxxx Y
posted by Posted by the author Varchar(45) Xxxxxxxx Y
id Id of barangay AI PK
Brngy_po brngy_name Barangay_name Varchar(45) Xxxxxxxx Y
pulation population Citizen population Varchar(45) Xxxxxxxx Y FK
month Month updated Varchar(45) Xxxxxxxx Y
year Year updated Varchar(45) Xxxxxxxx Y
date_updated Date_updated Varchar(45) Xxxxxxxx Y
Brngy_Bu Id_no Id of budget AI PK
dget Brngy_name Barangay Name Varchar(45) Xxxxxxxx Y
Budget Barangay Budget Varchar(45) Xxxxxxxx Y
Month Month updated Varchar(45) Xxxxxxxx Y
Year Year updated Varchar(45) Xxxxxxxx Y
Date_updated Date updated Varchar(45) Xxxxxxxx Y
PK = Primary Key
FK = Foreign Key
VARCHAR = Variable character length data , 1 to 2,000 characters
CHAR = Fixed character length data, 1 to 255 characters
INT = Integer Values Only
SMALLINT = Small integer values only
NUMBER = Numeric data , NUMBER (9,2) is used to specify numbers with two decimal places and up to nine digits long
include to decimal places RDBMS permit the use of a MONEY or CURRENCY data type
DATE formats vary. Commonly accepted formats are: DD-MON-YYYY, DD-MON-YY, /DD/YYYY and MM/DD/YY
Security
project protected. Only the administrator can create user staff. And the
administrator can update barangay budget. Those who are office staff
successfully registered to the system can access their login details using
their unique username and password. Only the admin can manage the
website user roles and customization, system login module and verify its
user. It consists of strong password policies. This was a great idea since
hacking and intrusion is possible over the web. The database was installed
in the website domain, this domain are also full of security and
sync its database to other computer but not the entire database. Backup
of the system files is always possible since the system is able to update its
of the system. Table 6 shows the list of specific software being used in the
Hardware Specification
system. Table 6 shows the list of specific software being used in the
Internal Parts:
External Parts:
Power Supply)
homepage, this help to achieve layout design of the system and control
much easier. It also uses JavaScript that can add interactivity and
the system.
needed to its back end of the system for storing data. It serves as the
database server that handles all stored data from devices inputted by the
office staffs. The researchers of this study used PHP language because
the system is a web-based, and thus, PHP is the best choice. PHP is a
system and how they are connected. Both system and the database are
<<artifact>>
: Senior Citizen Web-
Based Profiling
System
Test Plan
Table 7 shows the different module and its membered that being
tested during the final testing of the system. This test plan will deliver a
test procedure plan which will describe the test routine needed to test.
The test plan is a document outlining, the procedure on how the
The table below shows the test items to be tested during the installation
Update Pension
Print Reports
CHAPTER V
Summary
The system was tested by two (2) computers, laptop and desktop
able to print reports, display images, output fetched data, and display
the authorized person can use and understand it easily. It was also
specifications.
administrator can add, update and print senior citizen record. While in the
manage clerk, adding, updating and editing senior citizen record was
successfully checked.
Conclusion
Profiling System, the developer concludes that the system was able to
meet the purpose and usability along with the objectives of the project.
The system can effectively lessen the time consumed by the office staff in
reports and help the office. They can also use the database to track senior
citizen’s record.
Recommendations
Create User
<?Php
If(isset($_post['submit'])){
$connection = mysqli_connect('localhost','root','root','scwps');
$username = $_post['user'];
$password = $_post['pass'];
$firstname= $_post['fname'];
$lastname = $_post['lname'];
$role = 'staff';
$image = addslashes(file_get_contents($_files['image']['tmp_name']));
$username = mysqli_real_escape_string($connection , $username);
$password = mysqli_real_escape_string($connection , $password);
$firstname = mysqli_real_escape_string($connection , $firstname);
$lastname = mysqli_real_escape_string($connection , $lastname);
$hashformat ="$2y$10$";
$salt = "malitadavaoocc2018";
$hashf_and_salt = $hashformat . $salt;
$password = crypt($password,$hashf_and_salt);
$query ="insert into user_tbl
(first_name,last_name,username,password,image,user_role) values
('$firstname','$lastname','$username','$password','$image','$role')";
$result = mysqli_query($connection,$query);
if (!$result) {
$_globals['error'] = "user not created!.";
} else{
$_globals['success'] = "user created successfully!.";
}
}
?>
Log In User
<?php
session_start();
include'production/scwps_db.php';
if (isset($_POST['login'])) {
$username = $_POST['user'];
$password = $_POST['pass'];
$username = mysqli_real_escape_string($conn,$username);
$password = mysqli_real_escape_string($conn,$password);
$hashFormat ="$2y$10$";
$salt = "malitadavaoocc2018";
$hashF_and_salt = $hashFormat . $salt;
$password = crypt($password,$hashF_and_salt);
if (!$sel_user_query) {
$_GLOBALS['error'] = "QUERY FAILED!." .mysqli_error($conn);
}
$er = "error";
header("location: index.php?id=$er");
$_SESSION['first'] = $db_first;
$_SESSION['id'] = $db_id;
$_SESSION['user_role'] = $user_role;
header("location: production/home.php");
} else {
$er = "error";
header("location: index.php?id=$er");
}
}
?>
Add Member
<?php
session_start();
include'scwps_db.php';
if (!isset($_session['user_role'])) {
header('location:../index.php');
}
?>
?>
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- meta, title, css, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
</style>
</head>
<div class="clearfix"></div>
<?php
$id = $_session['id'];
include'scwps_db.php';
$sql="select * from user_tbl where id = $id ";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
$db_img = $row['image'];
?>
</ul>
</li>
<li><a><i class="fa fa-file-text"></i> report <span
class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li class="current-page"><a href="masterlist.php">view
master list</a></li>
<li><a href="population_report.php">population
report</a></li>
<li><a href="update_population.php">update
population</a></li>
<li><a href="non_exist_members.php">none existing
members</a></li>
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
</div>
</div>
</ul>
</nav>
</div>
</div>
<!-- /top navigation -->
<div class="title_center">
<div class="col-sm-12 invoice-col">
<address>
<br>
<h3>office for senior citizens affairs</h3>
</address>
</div>
<div class="title_right">
<br/>
<div class="x_content">
<form id="demo-form2" enctype="multipart/form-data"
data-parsley-validate method="post" class="form-horizontal form-label-
left" action="savemember.php">
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"
for="first-name"> <span class="required"></span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<img id="blah" class="" src="images/user.png" alt="your
image" style="width: 100px; height:100px;">
</div>
<label class="control-label col-md-3 col-sm-3 col-xs-12"
for="first-name"> <span class="required"></span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<br>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"
for="first-name">upload photo <span class="required">*</span>
</label>
<div class="col-md-4 col-sm-4 col-xs-4">
<input type="file" onchange="readurl(this);"
class="form-control col-md-7 col-xs-12" name="image" id="file"
required="" />
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"
for="first-name">first name <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" name="first" required="required"
class="form-control col-md-7 col-xs-12">
</div>
</div>
<div class="form-group">
<label for="middle-name" class="control-label col-md-3
col-sm-3 col-xs-12">middle name / initial</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input class="form-control col-md-7 col-xs-12"
type="text" name="midname">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"
for="last-name">last name <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" name="last" required="required"
class="form-control col-md-7 col-xs-12">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">gender</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<div id="gender" class="btn-group" data-
toggle="buttons">
<label class="btn btn-default" data-toggle-class="btn-
primary" data-toggle-passive-class="btn-default">
<input type="radio" name="gender" value="male">
male
</label>
<label class="btn btn-primary" data-toggle-
class="btn-primary" data-toggle-passive-class="btn-default">
<input type="radio" name="gender"
value="female"> female
</label>
</div>
</div>
</div>
<div>
<br>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">date of birth <span class="required">*</span>
</label>
<div class="col-md-3 col-sm-3 col-xs-12">
<input type="date" name="dob" required="required"
class="form-control col-md-7 col-xs-12">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">barangay <span class="required">*</span>
</label>
<div class="col-md-3 col-sm-3 col-xs-3">
<select name="add" class="form-control">
<option>choose barangay</option>
<option>bito</option>
<option>bolila</option>
<option>buhangin</option>
<option>culaman</option>
<option>datu danwata</option>
<option>demoloc</option>
<option>felis</option>
<option>fishing village</option>
<option>kibalatong</option>
<option>kidalapong</option>
<option>kilalag</option>
<option>kinangan</option>
<option>lacaron</option>
<option>lagumit</option>
<option>lais</option>
<option>little baguio</option>
<option>macol</option>
<option>mana</option>
<option>manuel peralta</option>
<option>new argao</option>
<option>pangaleon</option>
<option>pangian</option>
<option>pinalpalan</option>
<option>poblacion</option>
<option>sangay</option>
<option>talogoy</option>
<option>tical</option>
<option>ticulon</option>
<option>tingolo</option>
<option>tubalan</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-4 col-sm-4 col-xs-4">
<input name="issue" value="<?php echo
date("d/m/y")?>" hidden/>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-
3">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /page content -->
<script>
var timerid = null;
var timerrunning = false;
var id,pause=0,position=0;
function showtime () {
var now = new date();
var hours = now.gethours();
var minutes = now.getminutes();
var seconds = now.getseconds()
var timevalue = "" + ((hours >12) ? hours -12 :hours)
timevalue += ((minutes < 10) ? ":0" : ":") + minutes
timevalue += ((seconds < 10) ? ":0" : ":") + seconds
timevalue += (hours >= 12) ? " pm" : " am"
document.clock.face.value = timevalue;
timerid = settimeout("showtime()",1000);
timerrunning = true;
}
function stopclock (){
if(timerrunning)
cleartimeout(timerid);
timerrunning = false;
}
function startclock () {
stopclock();
showtime();
}
function readurl(input) {
if (input.files && input.files[0]) {
var reader = new filereader();
View Profile
<?php
session_start();
include'scwps_db.php';
if (!isset($_session['user_role'])) {
header('location:../index.php');
}
?>
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- meta, title, css, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<style type="text/css">
@media print {
.top_nav {
display: none;
}
.nav_menu {
display: none;
}
.btn{
display: none;
}
}
</style>
</head>
<body class="nav-md">
<div class="container body">
<div class="main_container">
<div class="col-md-3 left_col menu_fixed">
<div class="left_col scroll-view">
<div class="navbar nav_title" style="border: 0;">
<a href="index.html" class="site_title"><i class="fa fa-
dashboard"></i> <span>scwps</span></a>
</div>
<div class="clearfix"></div>
<?php
$id = $_session['id'];
include'scwps_db.php';
$sql="select * from user_tbl where id = $id ";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
$db_img = $row['image'];
?>
<!-- menu profile quick info -->
<div class="profile clearfix">
<div class="profile_pic">
<img src="data:image/jpeg;base64,<?php echo
base64_encode($db_img)?>" alt="..." class="img-circle profile_img">
</div>
<div class="profile_info">
<span>welcome,</span>
<h2><?php echo $_session['first'] ?></h2>
</div>
</div>
<!-- /menu profile quick info -->
<br />
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
</div>
</div>
</div>
<div class="clearfix"></div>
<div class="row">
<div class="col-md-12">
<div class="">
<div class="x_title">
<address>
<br>
<img class="img-responsive avatar-view"
src="images\logo3.png" alt="avatar" style="height: 120px;width: 120px;"
title="change the avatar"><br>
<strong>republic of the philippines</strong>
<br>office for senior citizens affairs
<br>municipality of malita
<br>province of davao occidental
<br>email: pia.gov.ph/provinces/davao-occidental
</address>
<div class="clearfix"></div>
</div>
<div class="x_content">
if (isset($_get["id"])) {
include'scwps_db.php';
$id = $_get['id'];
$sql ="select * from profile where id_no = $id ";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$img = $row['img'];
$first = $row['fname'];
$last = $row['lname'];
$mid = $row['mname'];
$id = $row['id_no'];
$gend = $row['gender'];
$bar = $row['brngy'];
$bd = $row['dob'];
$issue = $row['date_issue'];
$year = date("y");
$d = $row['id_no'];
?>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class="row invoice-info x_title">
<div class="col-sm-2 invoice-col">
<img class="img-responsive avatar-view"
src="data:image/jpeg;base64,<?php echo base64_encode($img)?>"
style="height: 150px;width: 150px;" alt="no image found!" title="change
the avatar">
</div>
<!-- /.col -->
<div class="col-sm-8 invoice-col">
<b>id no:</b><?php echo $d;?>
<address>
<br><b>name: </b> <?php echo $first; echo ' ';
echo $mid; echo' '; echo $last; ?>
<br><b>gender: </b><?php echo $gend;?>
<br><b>age:</b> <?php echo $age; ?>
<br><b>birthday:</b> <?php echo date('f d,
y',strtotime($bd)); ?>
<br><b>barangay: </b> <?php echo $bar; echo'
'; echo'malita, davao occidental';?>
<br><b>date issued:</b> <?php echo $issue;?>
</address>
</div>
<!-- /.col -->
<div class="row">
<div class="col-md-2">
<br>
<br><img class="img-responsive avatar-view"
src="data:image/jpeg;base64,<?php echo base64_encode($img)?>"
style="height: 90px;width: 90px;" alt="no image found!" title="change
the avatar">
<br> <p><strong>id no:</strong><?php echo $d;?>
</p>
<br>
</div>
</body>
</html>
swcps_db
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "scwps";
// create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// check connection
if ($conn->connect_error) {
die("connection failed: " . $conn->connect_error);
}
?>
<?php
session_start();
include'scwps_db.php';
if (!isset($_SESSION['user_role'])) {
header('location:../index.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8">
<!-- Meta, title, CSS, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<style type="text/css">
@media print {
.top_nav {
display: none;
}
.nav_menu {
display: none;
}
.btn{
display: none;
}
.datatable-fixed-header{
display: none;
}
.dataTables_length{
display: none;
}
div.dataTables_wrapper div.dataTables_filter{
display: none;
}
div.dataTables_wrapper div.dataTables_paginate{
display: none;
}
footer{display: none;}
}
</style>
</head>
<body class="nav-md">
<div class="container body">
<div class="main_container">
<div class="col-md-3 left_col menu_fixed">
<div class="left_col scroll-view">
<div class="navbar nav_title" style="border: 0;">
<a href="index.html" class="site_title"><i class="fa fa-
dashboard"></i> <span>SCWPS</span></a>
</div>
<div class="clearfix"></div>
<?php
$id = $_SESSION['id'];
include'scwps_db.php';
$sql="SELECT * FROM user_tbl WHERE id = $id ";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
$db_img = $row['image'];
?>
<br />
</ul>
</li>
<li><a><i class="fa fa-file-text"></i> Report <span
class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="masterlist.php">Master List</a></li>
<li><a href="population_report.php">Population
Report</a></li>
<li><a href="update_population.php">Update
Population</a></li>
<li><a href="non_exist_members.php">None Existing
Members</a></li>
<li><a href="pension_form.php">Update
Pension</a></li>
<li><a href="view_pension_report.php">View Pension
Report</a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
</div>
</div>
<div class="clearfix"></div>
</div>
<div class="x_panel">
<tbody>
<?php
include'scwps_db.php';
$sql = "SELECT * FROM profile WHERE Category
='EXISTING' ";
$result =$conn->query($sql);
while ($row = $result->fetch_assoc()){
$yy =$row['dob'];
$bd = date('Y', strtotime($yy));
$year = date("Y");
$age = $year -$bd;
echo '
<tr>
<td>'.$row['id_no'].'</td>
<td>'.$row['lname'].', '.$row['fname'].'
'.$row['mname'].'</td>
<td>'.$row['brngy'].'</td>
<td> '.$age.'</td>
<td>'.$row['gender'].'</td>
<td>'.date('d-M-Y', strtotime($yy)).'</td>
</tr>';
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- /.row -->
</section>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /page content -->
<!-- footer content -->
<footer>
<div class="pull-right">
©Copyright 2018 SCWPS<a href="#">@9234</a>
</div>
<div class="clearfix"></div>
</footer>
<!-- /footer content -->
</div>
</div>
<script>
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
</body>
</html>
Population Report
<?php
session_start();
include'scwps_db.php';
if (!isset($_SESSION['user_role'])) {
header('location:../index.php');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8">
<!-- Meta, title, CSS, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<style type="text/css">
.time12{
font-family: "Helvetica Neue",Roboto,Arial,"Droid Sans",sans-serif;
width: 220px;
margin-left: 0px;
border: none;
padding:5px 10px;
font-weight:bold;
background:none;
font-size:32px;
color: #73a3d7;
}
</style>
</head>
<div class="clearfix"></div>
<?php
$id = $_SESSION['id'];
include'scwps_db.php';
$sql="SELECT * FROM user_tbl WHERE id = $id ";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
$db_img = $row['image'];
?>
<!-- menu profile quick info -->
<div class="profile clearfix">
<div class="profile_pic">
<img src="data:image/jpeg;base64,<?php echo
base64_encode($db_img)?>" alt="..." class="img-circle profile_img">
</div>
<div class="profile_info">
<span>Welcome,</span>
<h2><?php echo $_SESSION['first'] ?></h2>
</div>
</div>
<!-- /menu profile quick info -->
<br />
</ul>
</li>
<li><a><i class="fa fa-file-text"></i>Report<span
class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="masterlist.php">Master List</a></li>
<li><a href="population_report.php">Population
Report</a></li>
<li><a href="update_population.php">Update
Population</a></li>
<li><a href="non_exist_members.php">None Existing
Members</a></li>
<li><a href="pension_form.php">Update
Pension</a></li>
<li><a href="view_pension_report.php">View Pension
Report</a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
<div class="x_content">
<h2>Updated Population Report</h2>
<br>
<table id="datatable-fixed-header" class="table table-striped
table-bordered">
<thead>
<tr class="headings">
<th class="column-title"> </th>
<th class="column-title">Year </th>
<th class="column-title">Month </th>
<th class="column-title">Last Updated</th>
<th class="column-title no-link last"><span
class="nobr">Action</span>
</th>
</tr>
</thead>
<tbody>
<?php
include'scwps_db.php';
$sql = "SELECT * FROM brngy_population Group by
month";
$result =$conn->query($sql);
while ($row = $result->fetch_assoc()){
?>
</tbody>
</table>
<br>
<div class="x_title"></div>
<h2>Updated Age Sorting Report</h2>
<br>
<table id="datatable-fixed-header" class="table table-striped
table-bordered">
<thead>
<tr class="headings">
<th class="column-title"></th>
<th class="column-title">MONTH </th>
<th class="column-title">YEAR</th>
<th class="column-title">LAST UPDATED</th>
<th class="column-title no-link last"><span
class="nobr">ACTION</span>
</th>
</tr>
</thead>
<tbody>
<?php
include'scwps_db.php';
$sql = "SELECT * FROM age_bracket GROUP BY month
";
$result =$conn->query($sql);
while ($row = $result->fetch_assoc()){
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- /.row -->
</section>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- /page content -->
<script>
var timerID = null;
var timerRunning = false;
var id,pause=0,position=0;
function showtime () {
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds()
var timeValue = "" + ((hours >12) ? hours -12 :hours)
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
timeValue += (hours >= 12) ? " pm" : " am"
document.clock.face.value = timeValue;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
function stopclock (){
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock () {
stopclock();
showtime();
}
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
</body>
</html>
Home Dashboard
<?php
session_start();
include'scwps_db.php';
include'delete_post.php';
if (!isset($_session['user_role'])) {
header('location:../index.php');
}
?>
<?php
if (isset($_post['submit'])) {
deleterows();
}
?>
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- meta, title, css, favicons, etc. -->
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1">
<title>scwps | home</title>
</style>
</head>
<div class="clearfix"></div>
<?php
$id = $_session['id'];
include'scwps_db.php';
$sql="select * from user_tbl where id = $id ";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_assoc($result);
$db_img = $row['image'];
?>
<br />
</ul>
</li>
<li><a><i class="fa fa-edit"></i> add new <span class="fa
fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="addmember.php">add member</a></li>
<li><a href="viewlist.php">view list</a></li>
</ul>
</li>
<li><a><i class="fa fa-file-text"></i> report <span
class="fa fa-chevron-down"></span></a>
<ul class="nav child_menu">
<li><a href="masterlist.php">master list</a></li>
<li><a href="population_report.php">population
report</a></li>
<li><a href="update_population.php">update
population</a></li>
<li><a href="non_exist_members.php">deceased
members</a></li>
<li><a href="pension_form.php">update
pension</a></li>
<li><a href="view_pension_report.php">view pension
report</a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- /sidebar menu -->
</div>
</div>
</ul>
</nav>
</div>
</div>
<!-- /top navigation -->
<!-- page content -->
<div class="right_col" role="main">
<!-- top tiles -->
<div class="row tile_count">
<?php
include'scwps_db.php';
$abc="select count(*) as a from user_tbl ";
$result=mysqli_query($conn,$abc);
$row=mysqli_fetch_assoc($result);
$t_user = $row['a'];
?>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<!--active_users-->
<div class="col-md-6 col-sm-6 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>announcements </h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<ul class="list-unstyled timeline">
<?php
$sql = "select * from announcement_tbl ";
$result =$conn->query($sql);
while ($row = $result->fetch_assoc()){
$id=$row['no'];
echo' <li>
<div class="block">
<div class="tags">
<a class="tag">
<span>'.$row['date_posted'].'</span>
</a>
</div>
<div class="block_content">
<h2 class="title"><a>'.$row['subject'].'</a></h2>
<div class="byline">
<span>posted </span> by
<a>'.$row['post_by'].'</a>
</div>
<p class="excerpt">'.$row['post'].'
</p>
<p><a href="javascript:void(0)" rel="'.$id.'"
class="delete_link" style="color:#f10f0f;">delete<i class="fa fa-
close"></i></a>
</p>
</div>
</div>
</li> ';
}
?>
</ul>
</div>
</div>
</div>
<!--/end_active-users-->
<div class="col-md-6">
<div class="x_panel">
<div class="x_title">
<h2>daily active users </h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fa fa-chevron-
up"></i></a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-
toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-
wrench"></i></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">settings 1</a>
</li>
<li><a href="#">settings 2</a>
</li>
</ul>
</li>
<li><a class="close-link"><i class="fa fa-close"></i></a>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content">
<ul class="list-unstyled msg_list">
<?php
$sql = "select * from user_tbl ";
$result =$conn->query($sql);
while ($row = $result->fetch_assoc()){
$image=$row['image'];
echo'
<li>
<a>
<span class="image">
<img
src="data:image/jpeg;base64,'.base64_encode($image).'" alt="img"
style="width:50px; height:50px;">
</span>
<span>
<span>'.$row['first_name'].'
'.$row['last_name'].'</span>
<span class="time"></span>
</span>
<span class="message">
'.$row['user_role'].'
</span>
</a>
</li>
';
}
?>
</ul>
</div>
</div>
</div>
<!--!start-->
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="x_panel">
<div class="x_title">
<h2>post announcements</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<br>
<form class="form-horizontal form-label-left input_mask"
method="post" action="post.php">
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">subject</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="text" name="sub" class="form-control"
placeholder="subject">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">post <span class="required">*</span>
</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<textarea name="postup" class="form-control col-md-7
col-xs-12"></textarea>
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-
3">
<button class="btn btn-primary"
type="reset">reset</button>
<button type="submit" name="submit" class="btn btn-
success">submit</button>
</div>
</div>
</form>
</div>
<br>
</div>
</div>
<!--!end-->
<!--!start-->
<?php
if ( $_session['user_role'] == 'admin') {
echo'
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="x_panel">
<div class="x_title">
<h2>create admin</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<br>
';
if (isset($_get['id1']) == 'error') {
echo"
<div class='alert alert-danger alert-dismissible fade in'
role='alert'>
<button type='button' class='close' data-dismiss='alert'
aria-label='close'><span aria-hidden='true'>×</span>
</button>
<h2>admin not created!!!</h2>
</div>";
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12"></label>
<div class="col-md-9 col-sm-9 col-xs-12">
<img id="blah" class="form-control"
src="images/user.png" alt="your image" style="width: 100px;
height:100px;">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12"></label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="file" onchange="readurl(this);"
class="form-control" placeholder="upload photo" name="image" id="file"
required="" />
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">first name:</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="text" name="fname" class="form-control"
placeholder="first name">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">last name:</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="text" name="lname" class="form-control"
placeholder="last name">
</div>
</div><div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">username</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="text" name="user" class="form-control"
placeholder="username">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">password</label>
<div class="col-md-9 col-sm-9 col-xs-12">
<input type="password" name="pass" class="form-
control" placeholder="password">
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-
12">user role:</label>
<div class="col-md-4 col-sm-4 col-xs-12">
<select name="userrole" class="form-control">
<option>admin</option>
<option>staff</option>
</select>
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-
3">
<button class="btn btn-primary"
type="reset">reset</button>
<button type="submit" name="submit" class="btn btn-
success">submit</button>
</div>
</div>
</form>
</div>
<br>
</div>
</div>';
}
?>
<!--!end-->
</div>
</div>
<br />
</div>
<!-- /page content -->
<!-- small modal -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-
label="close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="mymodallabel2">delete</h4>
</div>
<div class="modal-body">
<h4>are you sure you want to delete?</h4>
</div>
<div class="modal-footer">
<a href="" class="btn btn-danger modal_delete_link">delete</a>
<button type="button" data-dismiss="modal" class="btn btn-
primary">close</button>
</div>
</div>
</div>
</div>
<!-- /modals -->
<script type="text/javascript">
$(document).ready(function(){
$(".delete_link").on('click', function(){
var id = $(this).attr("rel");
var delete_url = "delete_post.php?delete="+ id +" ";
$(".modal_delete_link").attr("href", delete_url);
$("#mymodal").modal('show');
});
});
</script>
<script>
var timerid = null;
var timerrunning = false;
var id,pause=0,position=0;
function showtime () {
var now = new date();
var hours = now.gethours();
var minutes = now.getminutes();
var seconds = now.getseconds()
var timevalue = "" + ((hours >12) ? hours -12 :hours)
timevalue += ((minutes < 10) ? ":0" : ":") + minutes
timevalue += ((seconds < 10) ? ":0" : ":") + seconds
timevalue += (hours >= 12) ? " pm" : " am"
document.clock.face.value = timevalue;
timerid = settimeout("showtime()",1000);
timerrunning = true;
}
function stopclock (){
if(timerrunning)
cleartimeout(timerid);
timerrunning = false;
}
function startclock () {
stopclock();
showtime();
}
function readurl(input) {
if (input.files && input.files[0]) {
var reader = new filereader();
</body>
</html>
Sample Input
Sample Output
Sample Report
Appendix IV. Users Guide
scwpsportal2018.ml Homepage
1. Navigational Button
2. Announcement Information
Index Form
Shows the form of login, where the system’s administrator and user can
1. Username Field
2. Password Field
3. Log In Button
Administrator Form
1. Widget for Total User
Register form is where the user can input the senior citizen’s information.
5. Search Record
6. Search Records
Appendix V. Relevant Documents
Appendix VI. Grammarian’s Certification
May 8, 2018
G R A M M A R I A N’ S C E R T I F I C A T I O N
through all the pages of the proposed capstone project entitled “SENIOR
Signed:
Personal Data
Name : Joshua B. Ugsang
Address : Poblacion Malita,
Davao Occidental
Date of Birth : 12-24-1996
Place of Birth : Poblacion Malita,
Davao Occidental
Sex : Male
Height : 5’9”
Weight : 63 klgs.
Status : Single
Religion : Roman Catholic
Nationality : Filipino
Tribe : Bisaya
Parents
Father : Jonathan F. Ugsang
Mother : Jerlyn B. Ugsang
Educational Background
Elementary
School : Mariano Peralta Elementary School
Year Attended : 2003 - 2009
Secondary
School : SPAMAST Laboratory High School
Year Attended : 2009 -2013
College
Course : Bachelor of Science in Information
Technology
School : Southern Philippines Agri-Business and
Marine and Aquatic School of
Technology (SPAMAST)
Year Attended : 2014 – 2018
Work Experiences
Agency : JDL Security System Technology Corporation
Inclusive Dates : January – March, 2018
Position : On-the-Job Trainee
Affiliation
Name of Organization : InfoTech Sociaty
Position : Member
Inclusive Dates : 2014 - 2018
CURRICULUM VITAE
Personal Data
Name : Danilo L. Geverola Jr.
Address : Brgy.New Argao Malita,
Davao Occidental
Date of Birth : 01-29-1998
Place of Birth : New Argao, Malita
Davao Occidental
Sex : Male
Height : 5’5”
Weight : 55 klgs.
Status : Single
Religion : Roman Catholic
Nationality : Filipino
Tribe : Bisaya
Parents
Father : Danilo L. Geverola Jr.
Mother : Helen L. Geverola
Educational Background
Elementary
School : Malita Central Elementary School
Year Attended : 2003 - 2009
Secondary
School : Holy Cross of Malita
Year Attended : 2009 -2013
College
Course : Bachelor of Science in Information
Technology
School : Southern Philippines Agri-Business and
Marine and Aquatic School of
Technology (SPAMAST)
Year Attended : 2014 – 2018
Work Experiences
Agency : JDL Security System Technology Corporation
Inclusive Dates : January – March, 2018
Position : On-the-Job Trainee
Affiliation
Name of Organization : InfoTech Society
Position : Member
Inclusive Dates : 2014 - 2018