AGUA Final MANUSCRIPT
AGUA Final MANUSCRIPT
MANAGEMENT SYSTEM
FRANCIS BEHING
CHRISTIAN ELEAZAR LAZANAS
JAYRALD ZAMBRANO
APRIL 2024
Republic of the Philippines
CENTRAL MINDANAO UNIVERSITY
Musuan, Maramag, Bukidnon
APPROVAL SHEET
Recommending Approval:
Approved:
Noted:
ii
AUTHOR’S BIOGRAPHICAL SKETCH
iii
AUTHOR’S BIOGRAPHICAL SKETCH
iv
AUTHOR’S BIOGRAPHICAL SKETCH
v
ACKNOWLEDGMENT
First and foremost, the proponents would like to praise and give their
deepest thanks to our Heavenly Father for His great love for the proponents,
for granting us this outstanding achievement, and for His showers of blessings
throughout the completion of this project.
vi
EXECUTIVE SUMMARY
vii
Copyright © 2024 by Francis Behing, Christian Eleazar C. Lazanas, and
Jayrald A. Zambrano
viii
TABLE OF CONTENTS
TITLE PAGE i
APPROVAL SHEET ii
AUTHOR’S BIOGRAPHICAL SKETCH iii
ACKNOWLEDGMENT vi
EXECUTIVE SUMMARY vii
COPYRIGHT PAGE viii
TABLE OF CONTENTS ix
LIST OF FIGURES xi
LIST OF TABLES xiii
LIST OF APPENDICES xiv
CHAPTER I 1
1. Background of the Project 1
2. Statement of the Problem 2
3. Objectives of the Project 3
4. Scope and Limitation of the Project 3
5. Significance of the Project 4
CHAPTER II 6
1. REVIEW OF RELATED CONCEPT 6
2. REVIEW OF RELATED SYSTEM 7
CHAPTER III 9
TECHNICAL BACKGROUND 9
CHAPTER IV 14
1. Conceptual Framework 14
2. Project Approach 14
3. System Development Methodology 15
4. System Analysis 17
i. Flowchart 17
ii. Context Level Data Flow Diagram 19
iii. Level 0 Data Flow Diagram 20
iv. Use Case Diagram 21
v. Entity Relationship Diagram 22
5. System Requirements Specification 22
i. Functional Requirements 22
ii. Non-functional Requirements 23
ix
iii. Other Project Requirements 23
6. Project Management 24
i. Gantt Chart 24
7. Plan for Implementation and Testing 25
i. Step 1 Unit Testing 25
ii. Step 2 Integration 25
iii. Step 3 Usability Testing 26
3.1 Orientation 26
3.2 System Demonstration 26
3.3 System Testing 26
3.4 Survey Using SUS Questionnaire 27
iv. Deployment 29
CHAPTER V 30
1. Results 30
i. Landing Page 30
ii. Customer Login 32
iii. Customer Password Reset 33
iv. Customer Registration 34
v. Customer Profile Page 35
vi. Customer Add Order Page 36
vii. Customer Order History Page 39
viii. Staff and Admin Login 41
ix. Staff Dashboard Page 42
x. Admin Dashboard Page 45
xi. Admin Account Page 45
xii. Admin Orders Page 49
xiii. Admin Resource Page 51
xiv. Admin Setting Page 54
xv. Admin Generate Reports 55
2. Discussion 57
CHAPTER VI 60
1. Conclusion 60
2.Recommendation 60
REFERENCES 61
x
LIST OF FIGURES
xi
Figure 33. Admin Dashboard 45
Figure 34. Admin Customer Account Module 46
Figure 35. Admin Add New Customer 46
Figure 36. Admin Edit Customer Details 47
Figure 37. Admin Staff Account Module 47
Figure 38. Admin Add New Staff Account 48
Figure 39. Admin Edit Staff Details 48
Figure 40. Admin Orders Module 49
Figure 41. Admin Add New Order 49
Figure 42. Admin Update Order Status 50
Figure 43. Admin Truck Deliveries 50
Figure 44. Admin Resource (trucks, products, borrowed gallons) 51
Figure 45. Admin Add Truck 52
Figure 46. Admin Edit Truck 52
Figure 47. Admin Add Gallon Products 53
Figure 48. Admin Edit Product Details 53
Figure 49. Admin Settings 54
Figure 50. Admin Edit Settings 55
Figure 51. Generate Report 56
Figure 52. Print Generated Sale Report 56
Figure 53. SUS Survey Results 57
Figure 54. Data Gathering (1) 78
Figure 55. Data Gathering (2) 78
Figure 56. System Presentation & Testing (1) 79
Figure 57. System Presentation & Testing (2) 79
Figure 58. System Presentation & Testing (3) 80
Figure 59. SUS Survey (1) 80
Figure 60. SUS Survey (2) 81
Figure 61. SUS Survey (3) 81
xii
LIST OF TABLES
xiii
LIST OF APPENDICES
B Data Dictionary 70
C Testing Documentation 77
xiv
CHAPTER I
INTRODUCTION
In the Philippines, water refilling stations are currently one of the fastest-
growing businesses. Agua Boo was established by Ms. Gamboa on June 16,
2014 in Valencia City and has been in operation for almost 9 years. It provides
clean and purified drinking water for customers through walk-in purchases and
deliveries. However, the company is currently still using the semi-manual
method, which includes recording customer information and keeping track of
their daily sales by writing it down in a notebook and inputting it into MS Office
and Excel, which can also be referred to as manual filing. The manual method
has led them to various problems and these include human errors, loss of
documents, duplication of data, difficulty, and slow retrieval of records.
1
The Agua Boo Water Web-based Management System revolutionizes
the operational efficiency of Agua Boo water refilling stations by replacing semi-
manual processes with advanced web-based technologies. This
comprehensive system not only tracks daily sales and customer information,
including orders and gallon counts, but also significantly mitigates common
issues like human errors, document loss, and slow record retrieval associated
with manual methods. Additionally, it offers a user-friendly online interface,
allowing customers to effortlessly place orders and track their transactions,
thereby enhancing the engagement and satisfaction of the users.
Like other new businesses the Agua Boo Water, currently reliant on a
semi-manual system using Microsoft Office and Excel, faces significant
operational inefficiencies. The manual entry and tracking of transactions are
time-consuming and prone to errors, leading to inaccurate sales records and
customer information. This method results in cluttered documentation, slow
information retrieval, and security risks regarding sensitive data. Additionally,
the limited analytical capabilities of the current system hinder strategic decision-
making, impacting overall business performance and customer satisfaction.
The project aims to replace this system with a streamlined, automated
approach to enhance productivity, data accuracy, and customer service,
ultimately improving the company's decision-making process and business
efficiency.
2. Traditional filing techniques limit the amount of orders per time, which
might cost businesses during peak times. Traditional filing techniques
lack real-time inventory and sales data, making it difficult to track
performance and make data-driven decisions.
2
3. Manual tracking and management of gallons can be prone to human
error, leading to inaccurate record-keeping and inventory management.
The stakeholder offers service for borrowing water gallons; however,
manual and failure to track and manage gallons regularly will result in
the loss of borrowed gallons.
The general objective of this project is to develop the Agua Boo Water
Web-based Management System.
More specifically, this project aims to:
3
he/she is permitted to maintain and update the system's data including the
number of gallons, managing customers order and information, monitoring the
gallon and sales report. The staff could only update the assigned orders. Online
payment will not be accepted by the admin. Cash on Delivery will only be the
mode of payment. The system features a dashboard that displays the total
number of users, total sales, number of gallons, number of orders as well as
other information that will assist the administrator in monitoring the system
activity.
Agua Boo Owner/Manager. This can help them monitor and track their all
transactions including the number of gallons, manage customer information
and orders, and generate sales reports.
Agua Boo Staff. It will provide them with a systematized method in monitoring
and managing the order, deliveries and gallons returned by the customers.
Developers. The system will help them by gathering new ideas and improve
their knowledge and skills in creating a system that will benefit the owner of the
water station, staff, and users.
4
Future Developers. This project could be used as a guideline or reference for
the future developers who would plan to make any similar studies in the future
and provide system improvement
5
CHAPTER II
In 2016, Dela Cruz stated the water filling business is one of the fastest-
growing businesses here in the Philippines. As this business grows, the
complexity of managing customer accounts and transactions, product
inventory, control, and report generation also grows and can lead to the
business instinct not to survive. Most businesses have water refills, staff
working on their reports, and inventory of products manually. They sell purified
water of comparable quality with bottled water at a lower price Magtibay said
(2016). For example, the price per gallon of refilled water purified in Agua Boo
Water ranges from ₱ 20-30 per container per gallon.
6
Challenges in Water Refilling Station
7
that delivers water from the water source to the intended end or user. The
Implementation of a Water Business System is very useful to the desired
company since it can lessen human error and will make their work efficient and
effective. They also stated that The system simply transforms the current
manual system to an automated one which lessens errors in using the manual
way of tabulating the sales. It is designed and quality to meet the requirements
of the customer, Galan, Semiano & Libertad (2020). So, the proponents
proposed a system to be easily accessible in online ordering, user-friendly,
easy transaction, and scheduled to have an order on time.
They stated, one is that the in-charge of administrative duties like keeping
records, logging and handling cash sales, and she/he is additionally the one
receiving the calls or SMS from the customer's order or delivery request for the
development of Information System Plan for Water Zip Purified Drinking Water,
Pilones et al., (2020).
The requirement for water replenishing stations has grown over time,
according to M.Young., et al (April 2020). These tiny firms must become more
efficient in order to keep up with the increased demand. This project aims to
develop an inventory system for water refilling stations that would allow owners
to keep track of their inventory on a regular basis.
8
CHAPTER III
TECHNICAL BACKGROUND
PHP
Laravel
9
Hypertext Markup Language (HTML)
HTML stands for Hypertext Markup Language, the most widely used
language to write Web Pages. HTML is the language used to create web pages.
"Hypertext" refers to the hyperlinks that an HTML page may contain. "Markup
language" refers to the way tags are used to define the page layout and
elements within the page.
The proponents will use html to create the structure of the web page,
collect user input through forms, link elements and display images.
Bootstrap
10
Bootstrap is one of the best and most used HTML/CSS/JS front-end
frameworks. It offers many ready-made components and resources; Bootstrap
significantly speeds up application development (Saniukaite, L., 2018). It is a
free, open-source front-end library, a collection of tools that helps developers
create websites or web applications. It provides a faster, easier, and less
repetitive solution for designing and building applications. Bootstrap quickly
became famous as a front-end framework that offered a wide set of tools, from
page grids to components that render a web page, all in the best possible way
for any device (Moreto, S., 2017). Unlike many web frameworks, it concerns
itself with front-end development only.
The proponents will use a bootstrap template in the system to make the
development faster and more convenient, especially in designing the whole
structure of the system.
Javascript
The proponents will use JavaScript for the user interface of the system.
In some of the system's functions, especially in updating the list, the user
interface must change without refreshing the page to provide an interactive and
friendly user interface.
PHPMyAdmin
11
developer must install the software on a server running either Windows or one
of the several Linux distros it supports. The software enables developers to
manage as many databases as possible. Developers can edit tables and
values, create and delete databases, or even import and export them (Hughes
J. , 2017).
MYSQL
12
XAMPP
XAMPP stands for Cross-Platform (X), Apache (A), MySQL (M), PHP
(P), and Perl (P). It is a simple, lightweight Apache distribution that makes it
easy for developers to create a local web server for testing. Everything the
developer needs to set up a web server – server application (Apache),
database (MySQL), and scripting language (PHP) – is included in a simple
extractable file. XAMPP is also cross-platform, which works equally well on
Linux, Mac, and Windows. Since most actual web server deployments use the
same components as XAMPP, it also makes transitioning from a local test
server to a live server extremely easy. Web development using XAMPP is
especially beginner friendly, as stated by MIKOLUK (2013).
Visual Studio Code will be utilized during the development of the system.
It provides easy access to folders, especially when utilizing the code. Visual
Studio Code is used for debugging, syntax highlighting, intelligent code
completion, snippets, and code refactoring.
13
CHAPTER IV
METHODOLOGY
1. Conceptual Framework
2. Project Approach
14
According to the manager of Agua Boo, they find it hard to manually write and
record the sales of the company, customer information and orders, counts of
the gallons being borrowed, and sales reports. Also, they find it time-consuming
to manually check those previous transactions made by the customers. Some
of the customers also find it hard to determine the status of their orders.
With the support of several project studies, the challenges were then
assessed, and the idea of establishing a Web-based Management System to
conduct transactions between the admin and customers was established.
The agile technique was utilized during each phase of the completion of
this project. It begins with the preparation of the system that will be produced
for the analysis, then moves on to the development, construction, testing, and
assessment of the system to conduct the extra projects. Finally, it culminates
with the evaluation of the system. The objective of the agile software
development life cycle is to produce and deliver working software in an efficient
and timely manner. The capacity to design and deploy simultaneously inside a
predetermined environment is one of its many advantages. Other benefits
include rapid capability creation and demonstration, suitability for fixed or
changing demands, and suitability for both.
15
Figure 2 depicts the Agile Model SDLC model chosen for this project.
The agile model's stages are well-defined and easy to comprehend for
consumers. It also enables proponents to update the established system in the
future for the consumers' comfort. Plan, Design, Development, Testing,
Release, and Feedback were all followed by the proponents
16
Deployment concerns with releasing the project to production after
ensuring that it's stable and ready for use by end-users. The system is now
complete, and the proponents have released or are about to release it to their
client, which has been uploaded to the internet and is ready to use. Users tests
the web system in this phase to see if it satisfies their needs and will be valuable
to them.
The last phase is review. This phase includes evaluating the project's
progress and finding opportunities for improvement, with a focus on continual
improvement and collaboration among team members and stakeholders. The
user input or review was delivered to the system in the last stage. They were
given questionnaires to complete to grade the overall system's performance
and provide feedback. The users also looked for any issues so that proponents
may address them as quickly as feasible.
4. System Analysis
i. Flowchart
Figure 3 below illustrates a systematic approach to handling users and
their activities within the system. It begins with the initial system start-up,
leading to a user authentication phase where it's determined whether a login
page should be presented. New users are guided to a registration process
where they input credentials to create an account. Existing users login with their
credentials, which the system verifies for accuracy.
17
The process flow is designed to ensure secure and role-specific access
to system functions, enhancing operational efficiency. The sequence concludes
when the user session is terminated, either through logging out or exiting the
system.
18
ii. Context Level Data Flow Diagram
The data flow diagram at the Context Level represents the entire system,
including the essential inputs and outputs in addition to the system as a whole.
The context flow for Agua Boo's Web-Based Management System is depicted
in Figure 4. They are composed by three different users. Every customer makes
a request or produces and submits an order transaction to the admin/staff. The
admin then accesses the system to supply the necessary data for the
processes, and the system generates information based on the queries that the
admin performs whereas the staff will manage the assigned orders and
delivery.
19
iii. Level 0 Data Flow Diagram
20
given task. This outlines how a system responds to a request from the point of
view of the customer, staff, and administrative modules. Customers can create
and submit orders, but admins have complete control over the system and can
do whatever they want with it. The staff can manage orders assigned to them
which includes viewing the assigned orders to deliver and changing their status
to delivered or canceled. They can also manage the gallons returned by the
customer.
21
v. Entity Relationship Diagram
i. Functional Requirements
22
information such as the total number of sales in daily, weekly and monthly, the
total number of orders, and the total number of gallons borrowed, as well the
sales reports.The admin runs as the head of the organization and has full
access to all features of the system. The staff can only view his assigned order
and allows recording of returned gallons. For the customer side, the system
provides an easy and hassle-free way to place orders online. Customers can
create an account and log in to view their order history, track their current
orders, and make new orders.
Administrator
● Can view the system.
● Can log in to the system.
● Can access dashboard
● Can access, add and manage users.
● Can access order list
● Can access the gallon management.
● Can access the products
● Can access trucks
● Can access and generate sales reports.
● Can access system settings
Staff
● Can view the system.
● Can log in to the system.
● Can access order list
● Can access gallons returned
Customer
● Can view the system.
● Can sign up and log in to the system.
● Can access online ordering orders and view status.
● Can access profile information
23
ii. Non-functional Requirements
Software Requirements
Software requirements in building the system are:
● Operating Systems (at least Windows 7 or any equivalent OS or higher).
● Browsers like Google Chrome, Firefox, Safari, Internet Explorer and
Opera Mini.
● Text editors like Visual Studio and Sublime Text Editor, MYSQL, and
XAMPP.
6.Project Management
i. Gantt Chart
24
Figure 8. Gantt Chart
After evaluating each unit, all the units developed during the
implementation phase were integrated into a system. Following system
integration, the entire system was thoroughly examined for bugs and errors. It
underwent a comprehensive evaluation, and suggestions were provided for
future revisions and enhancements. The system was then pushed beyond its
limitations to ensure that it would not crash under extreme conditions.
The website was tested across various browsers, during which errors
were noted, and the application was subsequently debugged. After the testing
phase, the proponents gathered all comments from those who participated in
the system test. These insights served as a guide for adding and eliminating
unnecessary features of the system, as well as determining whether the
software requirement specifications and the specific objectives of the system
had been successfully met.
25
were fixed. Furthermore, the graphical user interface and database design of
both modules were adjusted to conform to the requirements that were intended
for them.
During this phase, all of the individual parts of the system were brought
together and evaluated in the context of the whole. This was crucial to ensure
that the system's subcomponents interacted properly with external
dependencies, guaranteeing the system's proper functioning. The devices that
were submitted by the stakeholders were investigated by the proponents to
determine whether or not they conformed to the specification.
During this stage of the process, the owner, manager, staff, and
customers tested the system. The proponents anticipated receiving feedback
from the participants regarding whether or not it satisfied the organization's
requirements, both functional and non-functional.
3.1 Orientation
26
and buttons were explained in terms of the function they serve and the
scope of the actions that are generated when they are triggered.
This step occurred after the system had been demonstrated, and it
required users to have a fundamental understanding of how to utilize the
system. The entire process of testing the system involved staff from
Agua Boo being chosen by the manager, which entailed using the
system in general. All functionalities of the system, from the
administrator side to the customer side, were tested and observed to see
if they adhered to the system's objectives without any errors. This testing
was performed by the manager, staff, and customers from Agua Boo.
27
The final score was determined using a Likert scale with five points,
ranging from strongly agree to strongly disagree (as shown in Figure 9).
Each response is assigned a value for the SUS score calculation. The
following is a breakdown of the points for the responses: Strongly Disagree
receives one point, disagree receives two points, Neutral receives three points,
agree receives four points, and Strongly Agree receives five points.
28
Figure 10 is a snapshot of the range of scores and what they mean after
adding the total score of the new values (X+Y) and multiplying it by 2.5. This
snapshot was created after calculating the total score of the new values.To
provide further clarification, a System Usability Scale score above 60 was
considered above average, while below 60 was deemed below average. A
score of 70 or above was considered acceptable, and an unacceptable score
corresponded to 50 percent. To assess if the system's capabilities and features
meet the users’ expectations.
IV. Deployment
The deployment took place in the Agua Boo Water Store. At this phase,
it was required that the handlers of the program administer the system that had
already been through and conformed to the steps that were described earlier.
The approach involved installing the system on the laptop owned by the
shareholder, as well as installing the system online. The design of the system
itself was adaptable, making it possible to accommodate any changes or
modifications that might have occurred in the future.
29
CHAPTER V
I. Landing Page
The landing page for the "Agua Boo Water” utilizes a split layout design,
with a dominant purple color scheme on the left that effectively draws attention
to the company logo and the call-to-action button. This layout is optimized for
user engagement, directing visitors' eyes towards the ordering process.
30
Figure 12. About Page
The "About Us" section of the website features a headline "Quench your
thirst on time." which implies a promise of timely service, which is a valuable
aspect of customer satisfaction in the water refilling industry. The collage of
images supports this by showing different stages of the service, such as the
filtration systems, the delivery vehicles, and the storefront, giving customers a
visual tour of the efficiency and reach of Agua Boo's operations. This ties back
to the section's purpose by demonstrating the company's commitment to
delivering on its value proposition promptly.
31
The "Reach Us Out" section on the website’s Contact is designed for
accessibility and customer interaction. It prominently features a map to assist
customers in locating Agua Boo Water Refilling Station, enhancing physical
accessibility. The section also provides various means of communication
including a Facebook link, a phone number, and an email address, offering
multiple channels for customer inquiries and support.
ii Customer Login
32
iii Customer Password reset
The password reset page features a clean and simple interface, guiding
users through a two-step process. The first step asks for the user's email
address to send a password reset link, maintaining a straightforward approach
with minimal distractions. In the second step, users are prompted to enter and
confirm their new password, which is a standard security measure for account
33
recovery processes. The design is consistent with the website's branding,
reinforcing trust and security while providing a user-friendly experience for
account retrieval.
34
Figure 18. Customer Profile Page
35
vi. Customer Add Order Page
36
Figure 21. Customer Create and Submit OrderPage
37
Figure 22. Customer Edit Details
38
vii. Customer Order History Page
39
Figure 25. Customer View Order History Details
The customer view order history details page is a detailed interface that
displays a list of past orders, showing the order ID, recipient, total price,
quantity, date ordered, and date updated. A modal window within the page
allows customers to delve into specific details about each order, such as the
types of water purchased and their individual prices, providing a transparent
and thorough account of transaction history. This enables customers to review
their orders comprehensively and is an essential feature for maintaining an
informative and user-friendly service.
40
Figure 26. Customer Active Orders
41
Figure 28 Staff and Admin Login Page
The Staff and Admin Login Page presents a clean and professional
interface, with a straightforward form for login credentials. The backdrop
features a relevant image of water bottles, which immediately contextualizes
the page to the water refilling business. The login form itself is minimalistic,
requesting just the essential information—email and password—with a
prominent login button. This design suggests an efficient and secure entry point
for staff and administrative access, underscoring the importance of functionality
and ease of use for internal users who require access to the system's backend
for management and operational tasks.
42
indicate a system that can handle a huge volume of orders, helping staff
streamline process and improve service.
43
Figure 31. Staff Delivered Orders Dashboard
44
The staff canceled orders dashboard is a specialized interface for
tracking orders that have not been completed, providing clear information such
as customer name, address, contact number, total quantity, total amount, and
reasons for cancellation.
45
Figure 34. Admin Customer account module
46
Figure 36. Admin Edit Customer Details
The Admin Staff Account Module displays a table listing staff members,
which is a key component of the internal management system for an
administrator. It shows essential details such as staff ID, first and last names,
addresses, and roles, and has an 'Actions' column with options to presumably
view, edit, or deactivate staff records.
47
Figure 38. Admin Add New Staff account
This feature allows the system administrator to oversee the list of users.
Each interface includes features for searching, displaying a specified number
of entries, and navigating between records. add and edit staff and customer
info.
48
xii. Admin Orders Page
49
Figure 42. Admin Update Order status
The order module allows the system administrator to access all features
of managing the orders. This includes the ability to filter orders by status, select
a date range for order display, search for specific orders, and perform actions
such as editing or updating order status, viewing orders per truck, viewing and
monitoring order list information The interface indicates an interactive, real-time
50
system for managing customer orders, designed to offer an overview of
transactions for efficient administration.
51
Figure 45. Admin Add Truck
52
Figure 47. Admin Add Products
53
number, and quantity of items borrowed. These interfaces provide a
centralized, user-friendly platform for administrators to oversee and manage
resources critical to the delivery service, including vehicle logistics
maintenance, products and borrowed gallons highlighted from the project’s
objectives.
54
Figure 50. Admin Edit Setting
The figure 47 and 48 shows the "Settings" module, specifically the "Site
Settings" section. This user interface allows the super admin to view and edit
the company’s profile and contact information that appears on the website
landing page. It includes editable fields for the company's slogan, which is
currently set to a customer-centric message, "Quench your thirst,” and a brief
description of the business, defining Agua Boo as a water refilling station. On
the contact side, it lists the company's Facebook page for social media
presence, a phone number, and an email address for direct contact. The 'Edit'
button indicates that you can update these fields as needed, indicating a
dynamic system that allows you to manage site content directly through the
admin panel.
55
Figure 51. Generate Report
The figure 49 and 50 display the report generation and printing features
of the Agua Boo Water Management System's report generation and printing
features. In figure 49, the dashboard provides an interface for selecting a date
range to generate sales reports, with fields for the start and end dates and a
submit button to process the request. The second image shows the rendered
sales report within the system's interface, ready for printing. This functionality
provides the administrative user with a streamlined process for creating
56
periodical sales reports for analysis or record-keeping purposes, making it easy
to access printed versions of sales data for any given timeframe as reference
to project’s objectives.
2. Discussion
The SUS survey results for the "Agua Boo Web-based Management
System" showed a variation in perceived usability across different user roles
which are the admins, staff, and customers or consumers (as shown in Table
1).
In general, the system's mean SUS score was 76.5%, translating to a 'B'
grade. This solid rating reflects the system’s generally good usability. The
relative score gap between customers compared to staff and administrators
highlights specific areas of improvement.
57
Table 1. Respondents Testing Results
Average 76.5 B
58
The table above shows the individual testing results and how individual
SUS scores were calculated. The process involves summing the scores for all
odd-numbered questions and subtracting 5 to obtain (X). Simultaneously, the
total score for all even-numbered questions is summed, and the result is
subtracted from 25 to derive (Y). Combining these new values (X and Y) and
multiplying the sum by 2.5 yields the final SUS score. And for the overall mean
of the system's SUS score, all respondents' results are summed up and divided
to get the average mean score of the system.
59
CHAPTER VI
CONCLUSION AND RECOMMENDATION
1. Conclusion
2. Recommendation
1. To the developers that would enhance this system, they can add
a legend where it provides a distinction of colors on which delivery
van was the order assigned.
2. The developers of the system are encouraged to add another field
which is for the uploading of an ID photo of the customer for
validation and verification purposes.
3. Future developers of the system should put a restriction that
allows the customers to be changed into inactive for not making
new orders for the next 15 days.
60
REFERENCES
61
Moreto, S. (2017). Getting Started with Bootstrap 4 for Web
Development [Video]. Retrieved from PackPub:
https://www.packtpub.com/product/getting-started-with-bootstrap-4-for-
web-development-video/9781788999113
MySQL. (2017). What is MySQL? Retrieved from MySQL:
https://dev.mysql.com/doc/refman/5.7/en/what-is-%20Mysql.html
Norozpour, S., Momenzadeh, M., & Abolhasani, A. (2021, June).
Proposing new system for handling business data systems with more
functionality and usability. Retrieved from ResearchGate:
https://www.researchgate.net/publication/352298830_Proposing_new_
system_for_handling_business_data_systems_with_more_functionality
_and_usability
Olan, A. (2016). https://dev.mysql.com/doc/refman/5.7/en/what-is-
%20Mysql.html. Retrieved from Academia:
https://independent.academia.edu/ArleneOlan
Pacinabao, K. (2016, April). Marketing Plan: Water Refilling Station.
Retrieved from Course Hero:
https://www.coursehero.com/file/82278241/purified-water-refill-
stationdocx/
Pilones, D. G., Decasa, J. P., De Vera, V. E., & Alejandrino, J. (2020,
July). INFORMATION SYSTEMS DEVELOPMENT PLAN FOR WATER
ZIP PURIFIED DRINKING WATER. Retrieved from ResearchGate:
https://www.researchgate.net/publication/349895910_INFORMATION_
SYSTEMS_DEVELOPMENT_PLAN_FOR_WATER_ZIP_PURIFIED_D
RINKING_WATER
Saniukaite, L. (2018). Speeding up Application Development With
Bootstrap. Retrieved from Toptal: https://www.toptal.com/twitter-
bootstrap/speeding-up-development-bootstrap
UIUXTrend. (n.d.). Measuring and Interpreting System Usability Scale
(SUS). Retrieved from UIUXTrend: https://uiuxtrend.com/measuring-
system-usability-scale-sus/
Vegh, C. D. (2017, July). Water Refilling Station Management System.
Retrieved from Scribd: https://www.scribd.com/doc/141646258/Water-
Refilling-Station-Management-System
62
APPENDICES
1
APPENDIX A
USE CASE SUITE
64
● Administrator
○ UC-00 Manage System Settings
○ UC-01 Manage Accounts/Users
○ UC-02 Manage Orders
○ UC-03 Manage Trucks
○ UC-04 Manage Gallons
○ UC-05 Manage Products
○ UC-06 Manage Sales
○ UC-07 Generate Report
● Staff
○ UC-08 Update Order status
● Customer
○ UC-09 Create & Submit Order
○ UC-10 View/Track Order Status
65
UC-00 Manage System Settings
Priority: Expected
Priority: Expected
66
Priority: Expected
Priority: Expected
Priority: Expected
67
Direct Actors System Administrator, staff
Priority: Expected
Priority: Expected
68
Main Success Scenario 1. On the bottom sidebar, click the
dashboard.
2. Inside of it is the graphical presentation
of sales.
Priority: Expected
Main Success Scenario 1.On the bottom sidebar, click the dashboard.
Priority: Expected
Main Success Scenario 1.On the top of staff dashboard, active orders
can be found and update it accordingly
69
UC-09 Create, Submit order
Priority: Expected
Main Success Scenario 1. Inside the profile page, click the “Add
Order” button.
2. Enter delivery address and create and
submit orders.
Priority: Expected
Main Success Scenario 1. In the profile page, scroll down and find
the active order table.
2. Click the specific order and view status
70
APPENDIX B
DATA DICTIONARY
71
Table 2. Add Staffs
Table 3. Customers
72
borrowed INT(11) Quantity of the borrowed gallons of
the customer
Table 4. Addresses
73
Table 5. Customer Forgot Password
Table 6. Orders
74
Table 7. Products
75
created_at TIMESTAMP Date and time created
Table 9. Trucks
76
APPENDIX C
TESTING DOCUMENTATION
77
Figure 52. Data Gathering (1)
78
Figure 54. System Presentation & Testing (1)
79
Figure 56. System Presentation & Testing (3)
80
Figure 58. SUS Survey (2)
81
APPENDIX D
82
83
84
85
86
87
APPENDIX E
SYSTEM’S RELEVANT CODE
88
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\DB;
use App\Models\addstaff;
use App\Models\customers;
use App\Models\products;
use App\Models\trucks;
use App\Models\orders;
use App\Models\Sitesetting;
use App\Models\Address;
use Carbon\Carbon;
switch ($timeFrame) {
case 'Weekly':
$groupBy = "CONCAT(YEAR(created_at), '-', WEEK(created_at))";
break;
case 'Monthly':
$groupBy = 'MONTH(created_at)';
break;
default:
$groupBy = 'DATE(created_at)';
}
89
$startOfWeek = Carbon::now()->startOfWeek()->format('Y-m-d H:i');
$endOfWeek = Carbon::now()->endOfWeek()->format('Y-m-d H:i');
$truckPerformance = orders::select('trucks.trucks',
DB::raw('SUM(orders.total_price) as total_sales'))
->join('trucks', 'orders.truck_id', '=', 'trucks.id')
->where('orders.order_status', 'Delivered')
->whereBetween('orders.created_at', [$startOfWeek, $endOfWeek])
->groupBy('trucks.trucks')
->orderBy('total_sales', 'desc')
->get();
90
// Total pending orders for this day
$startOfToday = Carbon::now()->startOfDay()->format('Y-m-d H:i:s');
$endOfToday = Carbon::now()->endOfDay()->format('Y-m-d H:i:s');
$totalOrdersToConfirmToday = orders::where('order_status', 'To Confirm')
->whereBetween('created_at', [$startOfToday, $endOfToday])
->count();
// Total borrowed.
$totalBorrowed = customers::sum('borrowed');
return view('admin.admindashboard',
compact(
'salesData',
'truckPerformance',
'salesByLocation',
'timeFrame',
'weeklyData',
'totalWeeklySales',
'totalSalesThisMonth',
'totalOrdersToConfirmToday',
'totalBorrowed'
));
}
91
$trucks = trucks::all();
$products = products::all();
$borrowers = customers::where('borrowed', '>', 0)->get();
return view('admin.resource', ['trucks' => $trucks, 'products' => $products,
'borrowers' => $borrowers]);
}
return view('admin.addorder', [
'customers' => $customers,
'trucks' => $trucks,
'products' => $products
]);
}
92
$trucks = trucks::with('order')->get();
return view('admin.printreport');
}
$staffData['password'] = Hash::make($staffData['password']);
$newStaff = addstaff::create($staffData);
93
}
$id->update($staffData);
$id->update($staffData);
// Prevent self-deletion
if (auth()->id() == $id->id) {
return redirect()->back()->withErrors(['error' => "Cannot delete currently
logged in account"]);
}
$id->delete();
return redirect(route('view.staff'))->with('success', 'Account deleted
successfully');
94
}
$customerData['customer_password'] =
Hash::make($customerData['customer_password']);
$newCustomer = customers::create($customerData);
if ($newCustomer) {
// Create an address entry using the customer's information
Address::create([
'customer_id' => $newCustomer->customer_id,
'fullname' => $newCustomer->customer_name,
'purok' => $newCustomer->customer_purok,
'barangay' => $newCustomer->customer_barangay,
'city' => $newCustomer->customer_city,
'phonenum' => $newCustomer->customer_phonenum,
]);
}
95
'customer_city'=>'required',
'customer_phonenum'=>'required|numeric',
'is_active'=>'required|boolean',
'returned_gallons'=>'nullable|numeric',
'customer_email'=>'required'
]);
$currentBorrowed = $customer_id->borrowed;
$customer_id->customer_name = $customerData['customer_name'];
$customer_id->customer_purok = $customerData['customer_purok'];
$customer_id->customer_barangay = $customerData['customer_barangay'];
$customer_id->customer_city = $customerData['customer_city'];
$customer_id->borrowed = $updatedBorrowed;
$customer_id->customer_phonenum = $customerData['customer_phonenum'];
$customer_id->is_active = $customerData['is_active'];
$customer_id->customer_email = $customerData['customer_email'];
$customer_id->update();
$orderCount = $customer_id->order()->count();
if ($orderCount > 0) {
return redirect()->back()->with('warning', 'This customer has an order and
cannot be deleted.');
}
$customer_id->delete();
return redirect(route('view.customers'))->with('success', 'Customer deleted
successfully');
}
96
}
$newProduct = products::create($productData);
// if ($orderCount > 0) {
// return redirect()->back()->with('warning', 'This product is part of an order
and cannot be edited.');
// }
return view('admin.editproduct', ['product_id' => $product_id]);
}
$product_id->update($productData);
97
// --------------- Delete Product ------------------
public function deleteProduct(products $product_id){
if ($orderCount > 0) {
return redirect()->back()->with('warning', 'This product is part of an order and
cannot be deleted.');
}
$product_id->delete();
return redirect(route('view.resource'))->with('success', 'Products deleted
successfully');
}
$newTruck = trucks::create($truckData);
$id->update($truckData);
98
return redirect(route('view.resource'))->with('success', 'Truck updated
successfully');
}
$orderCount = $id->order()->count();
if ($orderCount > 0) {
return redirect()->back()->with('warning', 'This truck has an order and
cannot be deleted.');
}
$id->delete();
return redirect(route('view.resource'))->with('success', 'Truck deleted
successfully');
}
99
$product = products::find($productId);
100
return redirect(route('view.orders'))->with('success', 'Order added
successfully');
}
if ($request->input('order_status') == 'Delivered') {
$orderData['reason'] = null;
$id->update($orderData);
101
if ($request->has('status_filter') && $request->status_filter != '') {
$ordersQuery->where('order_status', str_replace('_', ' ', $request-
>status_filter));
}
if ($request->filled('date_filter')) {
$dateFilter = $request->date_filter;
switch ($dateFilter) {
case 'today':
$ordersQuery->whereDate('created_at', Carbon::today());
break;
case 'yesterday':
$ordersQuery->whereDate('created_at', Carbon::yesterday());
break;
case 'this_week':
$ordersQuery->whereBetween('created_at', [Carbon::now()-
>startOfWeek(), Carbon::now()->endOfWeek()]);
break;
}
}
$orders = $ordersQuery
->orderBy('updated_at', 'desc')
->get();
102
// --------------- update deliveries ------------------
public function updateDeliveries(orders $id){
$id->load('customer', 'product');
return view('admin.updatedeliveries', compact('id'));
}
$id->update($orderData);
if ($request->input('order_status') == 'Delivered') {
// Get the customer associated with the order
$customer = customers::find($id->customer_id);
$validation = $request->validate([
'start_date'=>'required',
'end_date'=>'required'
]);
$startDate = $request->start_date;
$endDate = $request->end_date;
$orders = orders::with('product')
103
->where('order_status', 'Delivered')
->whereBetween('created_at', [$startDate, $endDate])
->get();
// Total Sales
$orderstoSum = orders::where('order_status', 'Delivered')
->whereBetween('created_at', [$startDate, $endDate])
->get();
$totalSales = $orderstoSum->sum('total_price');
104
if ($sale->is_bundle) {
// Add to the total sales for bundles
$dataBundles[$sale->product_name] += $sale->total_sales;
} else {
// Add to the total sales for singles
$dataSingles[$sale->product_name] += $sale->total_sales;
}
}
$dataBundles = array_values($dataBundles);
$dataSingles = array_values($dataSingles);
$totalNumOrders = orders::whereBetween('created_at',[$startDate,
$endDate])
->where('order_status', 'Delivered')
->count();
$totalreturnedValue = orders::whereBetween('created_at',[$startDate,
$endDate])
->where('order_status', 'Delivered')
->sum('returned');
return view('admin.printreport',
compact(
'startDate',
'endDate',
'orders',
'totalSales',
'salesPerTruck',
'salesPerDay',
'labels',
'salesPerProduct',
'dataBundles',
'dataSingles',
'totalNumOrders',
'totalreturnedValue'
));
105
$sitesettings->update($siteData);
$customer = customers::with('addresses')->findorFail($customer_id);
return view('admin.customerinfos', compact('customer', 'chistories'));
}
106
// Validate the incoming request data
$validatedData = $request->validate([
'Fullname' => 'required',
'Purok' => 'required',
'Barangay' => 'required',
'City' => 'required',
'Phonenumber' => 'required'
]);
// Create a new address
$address = new Address();
$address->fullname = $validatedData['Fullname'];
$address->purok = $validatedData['Purok'];
$address->barangay = $validatedData['Barangay'];
$address->city = $validatedData['City'];
$address->phonenum = $validatedData['Phonenumber'];
// Assuming you need to attach this address to a customer
// You should pass the customer ID to this method
$address->customer_id = $request->customer_id;
$address->save();
// Return a JSON response
return response()->json([
'success' => true,
'message' => 'Address added successfully.',
'address' => $address // Optionally send back the added address
]);
}
107