17acb02770 Fyp
17acb02770 Fyp
17acb02770 Fyp
BY
LEE YING FOONG
A REPORT
SUBMITTED TO
Universiti Tunku Abdul Rahman
in partial fulfillment of the requirements
for the degree of
BACHELOR OF COMPUTER SCIENCE (HONOURS)
Faculty of Information and Communication Technology
(Kampar Campus)
MAY 2021
UNIVERSITI TUNKU ABDUL RAHMAN
Verified by,
_________________________ _________________________
(Author’s signature) (Supervisor’s signature)
Address:
81, Tingkat Zarib 6,_________
Taman Pinji Mewah,_________ ____Yeck Yin Ping_____
31500 Ipoh, Perak.__________ Supervisor’s name
ii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
UNIVERSITI TUNKU ABDUL RAHMAN
Date: ___3/9/2021___
Yours truly,
___________________
LEE YING FOONG
iii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
DECLARATION OF ORIGINALITY
Signature : _________________________
Date : ______3/9/2021___________
iv
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
ACKNOWLEDGEMENTS
I would like to express my appreciation to my supervisors, Mr. Yeck Yin Ping who has
given me this learning opportunity and work on this project. I offer my sincere
appreciation to Mr. Yeck for encouragement and guidance throughout Final Year
Project.
Besides, I would also like to thank my family and friends for supporting me throughout
the project.
v
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
ABSTRACT
This project is a mobile application for appointment scheduling system for car wash
service. The demand of car wash service nowadays is increasing as most of the people
are too busy to wash car themselves. Car wash center has provided various car wash or
car detailing services such as foam wash, waxing, polishing which cause convenient to
customers. However, there are some limitations found which customers has to queue
up for a long time until their turn. During the peak hour, customers might have to wait
for a few hours which actually waste customers’ time. Next, customers who are not
familiar to the area are difficult to get a car wash service. They do not know which is
the nearest car wash center from their own location. Another problem faced is the
attendance of car wash appointment which people think that booking an appointment
is troublesome as they have to go to the car wash center to book appointment or they
have to make calls to discuss with staff for available time slot. These issues and
limitations need to solved to improve the performance of appointment scheduling
service. Hence, the proposed solutions in this application are able to solve the problems
by integrating appointment scheduling system in car wash service mobile application.
Customers are able to make appointment by using the application. Besides, GPS
location tracking is used in order to solve the problem that users wanted to get car wash
service at car wash center nearby them. The location of the car wash center is stored in
the database and it will be retrieve and display at Google Map when it is nearby user’s
current location. In addition, Improved Least Laxity First scheduling algorithm is also
used to schedule the appointment on real-time basis. Customers can manage their
appointment at anytime and anywhere. These proposed solutions are to improve the
performance and customers’ user experience of the application.
vi
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
TABLE OF CONTENTS
TITLE PAGE i
REPORT STATUS DECLARATION FORM ii
FYP THESIS SUBMISSION FORM iii
DECLARATION OF ORIGINALITY iv
ACKNOWLEDGEMENTS v
ABSTRACT vi
TABLE OF CONTENTS vii
LIST OF FIGURES xiv
LIST OF TABLES xxiii
CHAPTER 1 INTRODUCTION 1
1.1 Problem Statement 1
1.2 Background and Motivation 2
1.3 Project Objectives 3
1.4 Project Scope 4
1.5 System Approach / Study 5
1.6 Highlight of What Have Been Achieved 7
1.7 Report Organization 8
vii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
2.4 BR CAR WASH 15
2.4.1 Brief 15
2.4.2 Strengths 15
2.4.3 Weaknesses 18
2.4.4 Recommendations 18
2.5 WASHOS 18
2.5.1 Brief 18
2.5.2 Strengths 19
2.5.3 Weaknesses 21
2.5.4 Recommendations 21
2.6 Alphasphinx 21
2.6.1 Brief 21
2.6.2 Strengths 22
2.6.3 Weaknesses 23
2.6.4 Recommendations 23
2.7 Comparison of Functions and Proposed Solution in table form 24
2.8 Critical Remarks 27
2.9 Scheduling Algorithm 28
2.9.1 First Come First Serve (FCFS) 28
2.9.1.1 Brief 28
2.9.1.2 Advantages 28
2.9.1.3 Disadvantages 28
2.9.2 Shortest Job First (SJF) 29
2.9.2.1 Brief 29
2.9.2.2 Advantages 29
2.9.2.3 Disadvantages 29
2.9.3 Least Laxity First (LLF) 29
2.9.3.1 Brief 29
2.9.3.2 Advantages 30
2.9.3.3 Disadvantages 30
2.10 Comparison of scheduling algorithm in table form 30
2.11 Discussion 31
viii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN 33
3.1 Overview 33
3.2 System Design/ Overview 33
3.2.1 Customers Management Flow 34
3.2.2 Cleaner Management Flow 34
3.2.3 Database Management Flow 34
3.3 Use Case 35
3.3.1 Use Case Diagram 35
3.3.2 Use Case Description 37
3.3.2.1 Sign Up 37
3.3.2.2 Sign In 38
3.3.2.3 Manage Profile 39
3.3.2.4 Manage Password 40
3.3.2.5 View Nearby Car Wash Center’s Location 41
in Map
3.3.2.6 View Nearby Car Wash Center’s Location 42
in List
3.3.2.7 Search Car Wash Center’s Location 43
3.3.2.8 Real-time Monitoring Car Wash Center 44
Status
3.3.2.9 Make appointment 44
3.3.2.10 Receive Notification 46
3.3.2.11 View Active Appointment 47
3.3.2.12 Cancel Appointment 47
3.3.2.13 View Appointment History 48
3.3.2.14 View Notification 49
3.3.2.15 View Vehicle 49
3.3.2.16 Add Vehicle 50
3.3.2.17 Delete Vehicle 51
3.3.2.18 View Scheduled Appointment List 51
3.3.2.19 Manage Appointment 52
3.3.2.20 View Car Wash Center Details 53
3.3.2.21 Update Car Wash Center Details 53
ix
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
3.3.2.22 View Car Wash Center’s Service 54
3.3.2.23 Add Car Wash Center’s Service 55
3.3.2.24 Update Car Wash Center’s Service 55
3.3.2.25 Delete Car Wash Center’s Service 56
3.3.2.26 View Car Wash Center’s Cleaner 57
3.3.2.27 Add Car Wash Center’s Cleaner 57
3.3.2.28 Delete Car Wash Center’s Cleaner 58
3.3.2.29 View Car Wash Center’s Vehicle Type 59
3.3.2.30 Add Car Wash Center’s Vehicle Type 59
3.3.2.31 Delete Car Wash Center’s Vehicle Type 60
3.3.2.32 View Appointment History 61
3.4 Activity Diagram 62
3.4.1 Sign Up 62
3.4.2 Sign In 63
3.4.3 Manage Profile 64
3.4.4 Manage Password 65
3.4.5 View Nearby Car Wash Center’s Location in Map 66
3.4.6 View Nearby Car Wash Center’s Location in List 67
3.4.7 Search Car Wash Center’s Location 68
3.4.8 Real-time Monitoring Car Wash Center Status 69
3.4.9 Make appointment 70
3.4.10 Receive Notification 71
3.4.11 View Active Appointment 72
3.4.12 Cancel Appointment 73
3.4.13 View Appointment History 74
3.4.14 View Notification 75
3.4.15 View Vehicle 76
3.4.16 Add Vehicle 77
3.4.17 Delete Vehicle 78
3.4.18 View Scheduled Appointment List 79
3.4.19 Manage Appointment 80
3.4.20 View Car Wash Center Details 81
3.4.21 Update Car Wash Center Details 82
x
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
3.4.22 View Car Wash Center’s Service 83
3.4.23 Add Car Wash Center’s Service 84
3.4.24 Update Car Wash Center’s Service 85
3.4.25 Delete Car Wash Center’s Service 86
3.4.26 View Car Wash Center’s Cleaner 87
3.4.27 Add Car Wash Center’s Cleaner 88
3.4.28 Delete Car Wash Center’s Cleaner 89
3.4.29 View Car Wash Center’s Vehicle Type 90
3.4.30 Add Car Wash Center’s Vehicle Type 91
3.4.31 Delete Car Wash Center’s Vehicle Type 92
3.4.32 View Appointment History 93
3.5 Appointment Scheduling System Overview 94
3.5.1 Least Laxity First (LLF) Scheduling Algorithm 94
3.6 Coding Explanation 98
3.6.1 Sign up 98
3.6.2 Create profile 99
3.6.3 Sign In 100
3.6.4 Manage Profile 102
3.6.5 Display Active Appointment 106
3.6.6 Make Appointment 109
3.6.7 Received Notification 129
3.6.8 View Customer’s Appointment History 129
3.6.9 Manage Vehicle 131
3.6.10 View Notification 135
3.6.11 Scheduled Appointment 137
3.6.12 Display Scheduled Appointment 140
3.6.13 Manage Appointment 142
3.6.14 Manage Car Wash Center Details 144
3.6.15 Manage Car Wash Center Service 146
3.6.16 Manage Car Wash Center Vehicle Type 153
3.6.17 Manage Car Wash Center Cleaner 156
xi
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS 162
4.1 Overview 162
4.2 Methodology
4.2.1 Planning Phase 162
4.2.2 Analysis Phase 163
4.2.3 Design Phase 163
4.2.4 Design Prototype 163
4.2.5 Implementation Phase 163
4.3 System Requirements 164
4.3.1 Hardware Specification 164
4.3.2 Software Specifications 164
4.4 Project Timeline 165
xii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
5.2.18 Scheduled Appointment List Page 190
5.2.19 Manage Scheduled Appointment 191
5.2.20 Car Wash Center Appointment History and 193
Appointment Details
5.2.21 Manage Car Wash Center Details 196
5.2.22 Manage Car Wash Center Service 197
5.2.23 Manage Car Wash Center Vehicle Type 203
5.2.24 Manage Car Wash Center Cleaner 205
5.2.25 Log out 207
5.3 Benchmark Performance between Scheduling Algorithm 208
5.3.1 First Come First Serve (FCFS) Scheduling 209
Algorithm
5.3.2 Least Laxity First (LLF) Scheduling Algorithm 210
5.3.3 Discussion 211
5.4 User Testing and Feedback 211
5.5 Summary 216
xiii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
LIST OF FIGURES
xiv
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 3-4-6-1 View Nearby Car Wash Center’s Location in List 67
Activity Diagram
Figure 3-4-7-1 Search Car Wash Center’s Location Activity Diagram 68
Figure 3-4-8-1 Real-time Monitoring Car Wash Center Status Activity 69
Diagram
Figure 3-4-9-1 Make Appointment Activity Diagram 70
Figure 3-4-10-1 Receive Notification Activity Diagram 71
Figure 3-4-11-1 View Active Appointment Activity Diagram 72
Figure 3-4-12-1 Cancel Appointment Activity Diagram 73
Figure 3-4-13-1 View Appointment History Activity Diagram 74
Figure 3-4-14-1 View Notification Activity Diagram 75
Figure 3-4-15-1 View Vehicle Activity Diagram 76
Figure 3-4-16-1 Add Vehicle Activity Diagram 77
Figure 3-4-17-1 Delete Vehicle Activity Diagram 78
Figure 3-4-18-1 View Scheduled Appointment List Activity Diagram 79
Figure 3-4-19-1 Manage Appointment Activity Diagram 80
Figure 3-4-20-1 View Car Wash Center Details Activity Diagram 81
Figure 3-4-21-1 Update Car Wash Center Details Activity Diagram 82
Figure 3-4-22-1 View Car Wash Center’s Service Activity Diagram 83
Figure 3-4-23-1 Add Car Wash Center’s Service Activity Diagram 84
Figure 3-4-24-1 Update Car Wash Center’s Service Activity Diagram 85
Figure 3-4-25-1 Delete Car Wash Center’s Service Activity Diagram 86
Figure 3-4-26-1 View Car Wash Center’s Cleaner Activity Diagram 87
Figure 3-4-27-1 Add Car Wash Center’s Cleaner Activity Diagram 88
Figure 3-4-28-1 Delete Car Wash Center’s Cleaner Activity Diagram 89
Figure 3-4-29-1 View Car Wash Center’s Vehicle Type Activity 90
Diagram
Figure 3-4-30-1 Add Car Wash Center’s Vehicle Type Activity 91
Diagram
Figure 3-4-31-1 Delete Car Wash Center’s Vehicle Type Activity 92
Diagram
Figure 3-4-32-1 View Appointment History Activity Diagram 93
xv
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 3-5-1-1 Block Diagram of Least Laxity First Scheduling 95
Algorithm
Figure 3-6-1-1 Sign Up 98
Figure 3-6-2-1 Create Profile 99
Figure 3-6-2-2 User collection in Cloud Firestore 100
Figure 3-6-3-1 Sign In 100
Figure 3-6-3-2 Identity user role 101
Figure 3-6-4-1-1 Display user profile 102
Figure 3-6-4-2-1 Update profile 103
Figure 3-6-4-2-2 Upload Profile Picture 103
Figure 3-6-4-2-3 Profile Picture in Firebase Storage 104
Figure 3-6-4-3-1 Change Password 105
Figure 3-6-5-1 Display Active Appointment Adapter (1) 106
Figure 3-6-5-2 Display Active Appointment Adapter (2) 106
Figure 3-6-5-3 Display Active Appointment Adapter (3) 106
Figure 3-6-5-4 Display Active Appointment Adapter (4) 107
Figure 3-6-5-5 Display Active Appointment Adapter (5) 107
Figure 3-6-5-6 Display Appointment Details 108
Figure 3-6-5-7 Pin marker in Google Map in Appointment Details 108
Figure 3-6-6-1-1 Grant for user permission to access location (1) 109
Figure 3-6-6-1-2 Grant for user permission to access location (2) 109
Figure 3-6-6-1-3 Get Current Location 110
Figure 3-6-6-1-4 Add Marker for Car Wash Center Nearby 110
Figure 3-6-6-1-5 Display Details of Car Wash Center (1) 111
Figure 3-6-6-1-6 Display Details of Car Wash Center (2) 111
Figure 3-6-6-1-7 Display Details of Car Wash Center (3) 111
Figure 3-6-6-1-8 Select Car Wash Center 112
Figure 3-6-6-1-9 Go to View Car Wash Center Nearby in List Activity 112
Figure 3-6-6-2-1 Display Car Wash Center Nearby in List (1) 113
Figure 3-6-6-2-2 Display Car Wash Center Nearby in List (2) 113
Figure 3-6-6-2-3 Display Car Wash Center Nearby in List (3) 113
Figure 3-6-6-2-4 Display Car Wash Center Nearby in List (4) 114
Figure 3-6-6-2-5 Display Car Wash Center Nearby in List (5) 114
xvi
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 3-6-6-3-1 Search Car Wash Center Text Listener 115
Figure 3-6-6-3-2 Filter Car Wash Center By Name 115
Figure 3-6-6-3-3 Search Car Wash Center Adapter (1) 115
Figure 3-6-6-3-4 Search Car Wash Center Adapter (2) 116
Figure 3-6-6-3-5 Search Car Wash Center Adapter (3) 116
Figure 3-6-6-3-6 Search Car Wash Center Adapter (4) 117
Figure 3-6-6-3-7 Search Car Wash Center Adapter (5) 117
Figure 3-6-6-4-1 Display Vehicle Type Adapter (1) 117
Figure 3-6-6-4-2 Display Vehicle Type Adapter (2) 118
Figure 3-6-6-4-3 Display Vehicle Type Adapter (3) 118
Figure 3-6-6-4-4 Display Vehicle Type Adapter (4) 118
Figure 3-6-6-4-5 Display Vehicle Type Adapter (5) 119
Figure 3-6-6-5-1 Retrieve user vehicle 119
Figure 3-6-6-5-2 Display User Vehicle Adapter (1) 119
Figure 3-6-6-5-3 Display User Vehicle Adapter (2) 119
Figure 3-6-6-5-4 Display User Vehicle Adapter (3) 120
Figure 3-6-6-5-5 Display User Vehicle Adapter (4) 120
Figure 3-6-6-5-6 Display User Vehicle Adapter (5) 121
Figure 3-6-6-5-7 Select user vehicle 122
Figure 3-6-6-6-1 Display Service Adapter (1) 122
Figure 3-6-6-6-2 Display Service Adapter (2) 123
Figure 3-6-6-6-3 Display Service Adapter (3) 123
Figure 3-6-6-6-4 Display Service Adapter (4) 124
Figure 3-6-6-7-1 Display service details 124
Figure 3-6-6-7-2 Intent to Select Time Slot Activity 125
Figure 3-6-6-8-1 Select Date for Appointment (1) 125
Figure 3-6-6-8-2 Select Date for Appointment (2) 125
Figure 3-6-6-8-3 Display Available Time Slot 126
Figure 3-6-6-8-4 Check for Available Time Slot (1) 126
Figure 3-6-6-8-5 Check for Available Time Slot (2) 127
Figure 3-6-6-9-1 Display Appointment Overview 127
Figure 3-6-6-9-2 Add Appointment to Firestore 128
Figure 3-6-6-9-3 Appointment in Firestore 128
xvii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 3-6-7-1 Sends Notification 129
Figure 3-6-8-1 Retrieve Appointment From Firestore 129
Figure 3-6-8-2 Display Appointment History Adapter (1) 129
Figure 3-6-8-3 Display Appointment History Adapter (2) 130
Figure 3-6-8-4 Display Appointment History Adapter (3) 130
Figure 3-6-8-5 Display Appointment History Adapter (4) 131
Figure 3-6-9-1-1 Retrieve User’s Vehicle from Firestore 131
Figure 3-6-9-1-2 Display User’s Vehicle Adapter (1) 131
Figure 3-6-9-1-3 Display User’s Vehicle Adapter (2) 132
Figure 3-6-9-1-4 Display User’s Vehicle Adapter (3) 132
Figure 3-6-9-2-1 Intent to Add Vehicle Activity 133
Figure 3-6-9-2-2 Add User Vehicle 133
Figure 3-6-9-3-1 Delete User’s Vehicle 134
Figure 3-6-10-1 Get Notification from Firestore 135
Figure 3-6-10-2 Display Notification Adapter (1) 135
Figure 3-6-10-3 Display Notification Adapter (2) 135
Figure 3-6-10-4 Display Notification Adapter (3) 136
Figure 3-6-10-5 Intent to Notification Details Activity 136
Figure 3-6-10-6 Display Notification Details 136
Figure 3-6-11-1 Get Appointment From Firestore 137
Figure 3-6-11-2 Schedule Appointment (1) 137
Figure 3-6-11-3 Schedule Appointment (2) 138
Figure 3-6-11-4 Schedule Appointment (3) 138
Figure 3-6-11-5 Schedule Appointment (4) 139
Figure 3-6-11-6 Schedule Appointment (5) 139
Figure 3-6-11-7 Schedule Appointment (6) 140
Figure 3-6-12-1 Display Scheduled Appointment Adapter (1) 140
Figure 3-6-12-2 Display Scheduled Appointment Adapter (2) 141
Figure 3-6-12-3 Display Scheduled Appointment Adapter (3) 141
Figure 3-6-13-1 Manage Appointment (1) 142
Figure 3-6-13-2 Manage Appointment (2) 143
Figure 3-6-14-1-1 View Car Wash Center Details 144
Figure 3-6-14-2-1 Update Car Wash Center Details (1) 145
xviii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 3-6-14-2-2 Update Car Wash Center Details (2) 145
Figure 3-6-15-1-1 View Car Wash Center Service Adapter (1) 146
Figure 3-6-15-1-2 View Car Wash Center Service Adapter (2) 146
Figure 3-6-15-1-3 View Car Wash Center Service Adapter (3) 147
Figure 3-6-15-1-4 View Car Wash Center Service Adapter (4) 147
Figure 3-6-15-1-5 View Car Wash Center Service Adapter (5) 148
Figure 3-6-15-1-6 Display Car Wash Center Service Details 148
Figure 3-6-15-2-1 Add Car Wash Center Service 149
Figure 3-6-15-2-2 Upload Car Wash Center Service Image 150
Figure 3-6-15-3-1 Update Car Wash Center Service 151
Figure 3-6-15-4-1 Delete Car Wash Center Service 152
Figure 3-6-16-1-1 View Car Wash Center Vehicle Type Adapter (1) 153
Figure 3-6-16-1-2 View Car Wash Center Vehicle Type Adapter (2) 153
Figure 3-6-16-1-3 View Car Wash Center Vehicle Type Adapter (3) 153
Figure 3-6-16-1-4 View Car Wash Center Vehicle Type Adapter (4) 154
Figure 3-6-16-2-1 Add Car Wash Center Vehicle Type 154
Figure 3-6-16-3-1 Delete Car Wash Center Vehicle Type 155
Figure 3-6-17-1-1 View Car Wash Center Cleaner Adapter (1) 156
Figure 3-6-17-1-2 View Car Wash Center Cleaner Adapter (2) 156
Figure 3-6-17-1-3 View Car Wash Center Cleaner Adapter (3) 157
Figure 3-6-17-1-4 View Car Wash Center Cleaner Adapter (4) 157
Figure 3-6-17-2-1 Add Car Wash Center Cleaner (1) 158
Figure 3-6-17-2-2 Add Car Wash Center Cleaner (2) 158
Figure 3-6-17-2-3 Add Car Wash Center Cleaner (3) 159
Figure 3-6-17-2-4 Add Car Wash Center Cleaner (4) 160
Figure 3-6-17-3-1 Delete Car Wash Center Cleaner 161
Figure 4-2-1 Throw-away Prototype Methodology 162
Figure 5-2-1 Icon of the Application 167
Figure 5-2-1-1 Sign Up Page 168
Figure 5-2-1-2 Create Profile Page 168
Figure 5-2-2 Log In Page 169
Figure 5-2-3-1 Customer Home Page 170
Figure 5-2-3-2 Customer Home Page’s Navigation Bar 170
xix
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 5-2-4-1 View Nearby Car Wash Center in Map Page 171
Figure 5-2-4-2 View Nearby Car Wash Center Details in Map Page 171
Figure 5-2-5-1 View Nearby Car Wash Center in List Page 172
Figure 5-2-6-1 Search Car Wash Center Page (1) 173
Figure 5-2-6-2 Search Car Wash Center Page (2) 173
Figure 5-2-6-3 Search Car Wash Center Page (3) 174
Figure 5-2-6-4 Search Car Wash Center Page (4) 174
Figure 5-2-7-1 Select Vehicle Type Page 175
Figure 5-2-8-1 Select Vehicle Page (1) 176
Figure 5-2-8-2 Select Vehicle Page (2) 176
Figure 5-2-8-3 Add New Vehicle Alert Dialog 177
Figure 5-2-9-1 Select Service Page 178
Figure 5-2-9-2 Service Details Page 178
Figure 5-2-10-1 Select Time Slot Page (1) 179
Figure 5-2-10-2 Select Time Slot Page (2) 179
Figure 5-2-11-1 Appointment Overview Page 180
Figure 5-2-11-2 Confirm Appointment 180
Figure 5-2-11-3 Notification Received 181
Figure 5-2-12-1 Active Appointment Details Page 182
Figure 5-2-12-2 Google Map Direction 183
Figure 5-2-13-1 Profile Page 184
Figure 5-2-13-2 Change Password Page 184
Figure 5-2-14-1 Appointment History List Page 185
Figure 5-2-14-2 Appointment Details Page 185
Figure 5-2-15-2 Notification List Page 186
Figure 5-2-15-2 Notification Details Page 186
Figure 5-2-16-1 Customer Vehicle List Page 187
Figure 5-2-16-2 Add Customer Vehicle Page 187
Figure 5-2-16-3 Remove Customer Vehicle Alert Dialog 188
Figure 5-2-17-1 Cleaner’s Home Page 189
Figure 5-2-17-2 Cleaner’s Home Page Navigation Bar 189
Figure 5-2-18-1 Scheduled Appointment List Page 190
Figure 5-2-19-1 Manage Scheduled Appointment Page (1) 191
xx
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 5-2-19-2 Manage Scheduled Appointment Page (2) 191
Figure 5-2-19-3 Manage Scheduled Appointment Page (3) 192
Figure 5-2-19-4 Manage Scheduled Appointment Page (4) 192
Figure 5-2-20-1 Car Wash Center Appointment History Page (1) 193
Figure 5-2-20-2 Car Wash Center Appointment History Page (2) 193
Figure 5-2-20-3 Search Car Wash Center’s Appointment History Page 194
(1)
Figure 5-2-20-4 Search Car Wash Center’s Appointment History Page 194
(2)
Figure 5-2-20-5 Car Wash Center’s Appointment Details Page 195
Figure 5-2-21-1 Car Wash Center Profile Page (1) 196
Figure 5-2-21-2 Car Wash Center Profile Page (2) 196
Figure 5-2-22-1 Car Wash Center Service Page 197
Figure 5-2-22-2 Car Wash Center Service Details Page (1) 198
Figure 5-2-22-3 Car Wash Center Service Details Page (2) 198
Figure 5-2-22-4 Car Wash Center Service Details Page (3) 199
Figure 5-2-22-5 Car Wash Center Service Details Page (4) 199
Figure 5-2-22-6 Car Wash Center Service Details Page (5) 200
Figure 5-2-22-7 Add Car Wash Center Service Page (1) 201
Figure 5-2-22-8 Add Car Wash Center Service Page (2) 201
Figure 5-2-22-9 Icon of the Delete Car Wash Center Service Alert 202
Dialog
Figure 5-2-23-1 Car Wash Center Vehicle Type List Page 203
Figure 5-2-23-2 Car Wash Center Vehicle Type List Page 203
Figure 5-2-23-3 Delete Car Wash Center Vehicle Type 204
Figure 5-2-24-1 Car Wash Center Cleaner Page 205
Figure 5-2-24-2 Add Car Wash Center Cleaner Page 205
Figure 5-2-24-3 Remove Car Wash Center Cleaner 206
Figure 5-2-25-1 Log Out 207
Figure 5-3-1-1 First Come First Serve (FCFS) scheduling algorithm 209
Figure 5-3-2-1 Least Laxity First (LLF) scheduling algorithm 210
Figure 5-4-1 Respondent Gender 211
Figure 5-4-2 Respondent Age 212
xxi
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Figure 5-4-3 Rating of the Application Helps in Booking Car Wash 212
Appointment
Figure 5-4-4 Rating of Search Nearby Car Wash Center Function 213
Figure 5-4-5 Rating of System User Interface 214
Figure 5-4-6 Rating of System Overall Performance 214
Figure 5-4-7 Respondent Suggestion to Improve Application 215
xxii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
LIST OF TABLES
xxiii
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Table 3-3-2-20-1 View Car Wash Center Details Use Case Description 53
Table 3-3-2-21-1 Update Car Wash Center Details Use Case Description 53
Table 3-3-2-22-1 View Car Wash Center’s Service Use Case Description 54
Table 3-3-2-23-1 Add Car Wash Center’s Service Use Case Description 55
Table 3-3-2-24-1 Update Car Wash Center’s Service Use Case 55
Description
Table 3-3-2-25-1 Delete Car Wash Center’s Service Use Case 56
Description
Table 3-3-2-26-1 View Car Wash Center’s Cleaner Use Case Description 57
Table 3-3-2-27-1 Add Car Wash Center’s Cleaner Use Case Description 57
Table 3-3-2-28-1 Delete Car Wash Center’s Cleaner Use Case 58
Description
Table 3-3-2-29-1 View Car Wash Center’s Vehicle Type Use Case 59
Description
Table 3-3-2-30-1 Add Car Wash Center’s Vehicle Type Use Case 59
Description
Table 3-3-2-31-1 Delete Car Wash Center’s Vehicle Type Use Case 60
Description
Table 3-3-2-32-1 View Appointment History Use Case Description 61
Table 4-3-1-1 Components and Requirements of Hardware 164
Specification
Table 4-4-1 Project Timeline (1) 165
Table 4-4-2 Project Timeline (2) 166
Table 5-3-1 A task set of 6 tasks 208
xxiv
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION
1.1 Problem Statement
Car wash service had become common and widely spread among all around the world
nowadays. However, there are some problems faced by car wash industry. Some
customers found out that long queue for car wash service is wasting their time and they
are not familiar with the location of car wash center nearby their location. Besides, car
wash center would also like to increase their customers’ attendance.
i. Long queue for car wash is time wasting
When customers want to obtain car wash service or car grooming service, they
have to proceed to car wash center. Besides, they have to queue up if all the car
wash center’s cleaner is serving other customers. The minimum duration to
complete a car wash service is 20 minutes. Thus, customers may have to wait at
the car wash center for a few hours only they can be served during the peak hour.
However, the society now is living in fast pace of life. Most of the customers
are busy as they have to go to work and they are not able to wait for the queue
and wash their car. Thus, it causes inconvenient to the customers as they are
wasting their time waiting at the car wash center.
ii. Poor attendance of car wash appointment
Customers of car wash come from different age group and background. In the
old days, people make appointment by making phone call and discuss with the
staff of the car wash center for available time slot. Some of them might also
purposely go for miles to the car wash center to make appointment. It is difficult
and inconvenient for people who are busy. Thus, most of the people will not
make appointment as they felt troublesome to do so.
iii. Unfamiliar with the location of car wash center near them
Customers who went for work at outstation or went to other places may wish to
have a car wash service. However, they did not know if there are any car wash
center near them as they cannot browse any car wash center near them.
Customers also did not know the location of the car wash center around them
and they need to be guided. Besides, there are some customers who want to go
to the nearest car wash center but they cannot do so. Thus, it is difficult for
customers to get a car wash service as they are not familiar with that area.
1
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
Car wash is a service provided which used to clean the exterior or the interior of the
vehicles. There are many type of car wash service such as self-serve, fully automated
or full-service. Usually people have to pay for car wash service and their vehicles is
washed by the workers at car wash center. For self-service car wash, after customers
reach the station, they have to select various setting on the self-service station. Then,
customers will be able to clean their vehicles themselves. Automated car wash such as
exterior rollover car wash is where a car wash tools moves over customers’ car to clean
it. Next, for full-service, the vehicles are cleaned manually by the workers in car wash
center. Car wash is used to get rid of the dirt of vehicles. Cleaning the car from time to
time will protect the value of the vehicles as the vehicles will not spoilt easily.
The needs for car wash service increased every year thus the car wash industry are
growing in short-term and long-term. According to Paul Fazio CEO, over 19.2%
increase in the number of customers that getting a professional car wash service in 2014
compared to 1996 (Paul Fazio CEO, 2015). Besides, a survey also shown that there is
a growth in car wash industry which the number of car washed in 2012 is 2.1% higher
than the previous year (Gaille, 2017).
Nowadays, car wash service can be found in anywhere such as stand-alone car wash
center, gas station, petrol station and elsewhere. Car wash service now are evolving and
using more advanced, eco-friendly and convenient equipment and the industry is
becoming successful today.
The main motivation of developing this project is to allow users make appointment of
the car wash center online. The user just has to select and fill in some details in order
to make an appointment successfully. It saves many time as user does not need to call
to the car wash center to confirm the appointment or went to the car wash center to
make an appointment.
2
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
3
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
4
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
Figure 1-5-1: Flowchart of Appointment Scheduling System for Car Wash Service
Firstly, user must register an account to access the application. If the user already has
an account, user can just sign in the account. When user signed in successfully, the user
role is identified. Customer and car wash center’s cleaner are able to perform different
actions in the application. Customer and cleaner both are able to manage their own
profile and also manage their password. Customer is able to make or cancel the
appointment. Customer can view the car wash center nearby customer’s location. The
5
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
location of the car wash center nearby is represented by the marker and the marker will
be pinned on the map. Besides, customer also able to search the car wash center by
name. The status of car wash center can also monitor by customer. Customer can select
their preferable car wash center. Customer need to select the vehicle, time slot and
service in order to book an appointment successfully. Customer can also cancel an
appointment within an hour after made the appointment. Notification is received by
customer when they successfully made an appointment or cancelled an appointment. In
addition, customer can view the active appointment and appointment history. Customer
able to manage the vehicle. They can view, add or delete the vehicle.
Next, cleaner is able to manage the scheduled appointment list. Cleaner can view the
scheduled appointment and manage the status of the appointment. Cleaner can change
the status of the appointment and notify the customer. Cleaner can manage the car wash
center profile, car wash center’s service, vehicle type and cleaner. Cleaner can view,
edit or delete car wash center service while they can view, add and delete cleaner and
vehicle type. Moreover, any updates will also be updated in the database. Lastly,
customer and car wash center’s cleaner can log out the application.
6
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
For customer, they can view the car wash center nearby, their distance, and also the
details and real time status of the car wash center. They can also search for car wash
center that by name if the car wash center is not nearby user’s location. They can see
all the available service, and available time slot for the selected service. Next, when
user confirm the appointment, a notification is sent to customer in order to inform the
confirmation of appointment. Customer can view their active appointment in the home
page of the application. Besides, they can view their appointment history and also
notification received. All the appointment details and notification details is display for
customer to have a better view. When they clicked on the car wash center’s marker on
the map in the appointment details page, the application will direct customer to the
Google Map application and direct user to the car wash center. Customer can also
manage their own account and change their password. they can change the profile
details and password as they preferred. Customer can also manage their own vehicle.
They can add or delete their vehicle. Hence, they can just select the vehicle when they
make appointment, so they do not have to fill in the vehicle details every time they
make appointment.
For car wash center cleaner, they are able to view all the scheduled appointment of the
car wash center. They can also manage the status of the car wash center. For example,
when they start the car wash center, they can change the appointment status from
waiting status to cleaning in progress status. Next, they can also view all the
appointment history of the car wash center. In addition, the cleaners are able to manage
the car wash center’s profile, service, vehicle type and cleaner. For the car wash center’s
profile, the cleaner can view and update the details of the profile. Cleaner can also view,
7
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 1 INTRODUCTION
add, update or delete the car wash center’s service. Besides, cleaner are able to view,
add or delete the vehicle type and cleaner.
8
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.2 VIPBOX
2.2.1 Brief
VIPBOX is an application that provide car wash service to customers. VIPBOX
application was launched in Google Play Store since 2019. This application allows
customers to book for car wash service. (NEWPAGES.com.my) VIPBOX manage
appointments by using scheduling method which provide convenient to customers.
2.2.2 Strengths
VIPBOX is using appointment scheduling method for customers to make appointment.
Customers have the choice to choose the time slots when they are making an
appointment. Thus, it actually saves customers’ time as they do not have to wait for
their turn to wash their car (Harvsey, 2019). Besides, appointment scheduling method
also utilize manpower in car wash center. It will prevent crowded situation during peak
hour.
Real-time scheduling. Appointment request that has been sent by customers can be
confirm or cancel. Customers can manage their appointment online anytime and
anywhere thus increase customer satisfaction. Real-time scheduling saves time as
customers do not have to make calls for reservation and the reservation need not be
processed (User, 2016). Real-time booking has overcome a problem which car wash
service center agent might missed some customers when customers make call after
business hour. Reservation of car wash service is available 24 hours every day.
9
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
10
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Account managing. Customers are able to manage their account after they registered
for an account. They can save or edit their personal information such as name and email.
Furthermore, customers can manage their car’s details, payment information and their
password. It is more convenient because when customers make an appointment, they
can straight away select the details they added in their profile rather than typing in one
by one.
2.2.3 Weaknesses
GPS solution. It is hard for customers to search car wash center nearby. Customers has
to filter car wash center by address one by one. Furthermore, some of the customers
may not know the location of the car wash center thus it causes inconvenient to
customers.
Online payment method. Customers have to pay cash instead of different online
payment method. This causes inconvenience to customers as cashless society is now
growing up and customers may not have that much cash on hand. Besides, store cash
at car wash center increase risk for theft (Advantages and disadvantages of online
payments, 2017).
11
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.2.4 Recommendations
GPS solution. GPS solution to show the direction to the car wash center selected. GPS
solution may navigate customers who do not familiar with the location of the car wash
center (Goodman, 2019). Besides, GPS solution can also show the car wash center that
nearby customers’ location. By using this feature, customers can immediately decide
which car wash center they want. This feature is so customer oriented and hence result
the increasing of the customer satisfaction (AF Staff, 2019).
Online payment method. VIPBOX should have providing different payment method
for example online banking. Cashless transaction is on trending in the society nowadays.
Online payment is convenient for customers to pay for the service as the transaction
speed is fast (Advantages and disadvantages of online payments, 2017). Thus, feedback
is provided straight away to customers and car wash center.
2.3 Spiffy
2.3.1 Brief
Spiffy is a mobile application that enables customers to schedule an appointment for
car wash and car care service. Spiffy is only available in Canada and United States.
Customers just have to make appointment and the technicians will come to them with
tools. After perform the service, customers can rate their service using this mobile apps.
2.3.2 Strengths
Spiffy application is using scheduling method to manage customers’ appointment.
Scheduling method benefits the car wash center to set up task in order of priority. When
the appointment is scheduled, it will prevent car wash center cleaner from too busy or
procrastinating. Before that, customers have to queue up for car wash service. But now,
customers can reserve a slot for car wash service, thus save a lot of time from waiting.
Real-time scheduling. After customers requested for the appointment, immediately car
wash center agent received the request and process it. Customers have the flexibility to
make appointment whether in home, office, or café at any time (The Biggest Benefits
of Real-time Scheduling 2016). Besides, it also allows customers to alter their
appointment if there are any changes.
12
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Real-time chat. Spiffy provides functions like online chatting which enables
communication between car wash agent and customers. It is efficient for customers
and agents. Customer’s satisfaction is related to agent’s response time. Thus with online
customer service, agents can serve a few customers at one time (Alina, 2019).
13
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Online payment. Spiffy provides various online payment method as they accept eGift
Cards, Apple Pay and credit cards. Customers can proceed to payment after their service
is completed. Online payment has a lot of advantages as it keeps customers’ and
cleaners’ safety and it is also convenient (Advantages and disadvantages of online
payments, 2017).
14
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.3.3 Weaknesses
GPS route tracking solution. Car wash center will send their cleaner to the location
set by the customers to provide car wash service. However, customers are not able to
track the location of cleaner. It is more convenient when the customers can track their
status and location so that they can be ready on the estimated arrival time.
2.3.4 Recommendations
GPS route tracking solution. GPS route tracking solution will track the location of
the cleaner and customers can see route, idle time and estimated arrival time (Haq,
2016). Thus, it can provide better customer service.
2.4.2 Strengths
BR car wash has make use of appointment scheduling method to schedule the
appointment requested by customers. During the old days, car wash center hire cleaner
to overcome the problem of insufficient manpower during peak hour. However by using
appointment scheduling, manpower is utilized thus it save money from hiring cleaner.
GPS location tracking solution. Customers can view the location of car wash center
which is near by their location in the map of GPS. This feature benefits customers which
is unfamiliar with the area but they need a car wash service. Furthermore, it is easy to
use as customers only need to select the car wash center by clicking on the GPS map.
15
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Figure 2-4-2-1: Screenshot of map that display the location of nearby car wash center
16
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Online payment. BR CAR WASH provides online payment as they accept credit cards.
Customers can pay with credit cards during the time when they make appointment.
Cashless transaction is convenient to customers (Advantages and disadvantages of
online payments, 2017) and company as the report is generated automatically when the
transaction is completed. Besides, customers also no need to have so much money on
their hand.
17
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.4.3 Weaknesses
GPS route tracking solution. After customer’s appointment is confirmed, a driver is
assigned to the customer for car wash service. Nevertheless, customers cannot track the
location of driver. Customers can prepare and get ready before the arrival time if they
can view their location and status.
2.4.4 Recommendations
GPS route tracking solution. The location of the driver will be tracked by using GPS
route tracking solution so that customers can see route, idle time and estimated arrival
time. Thus, it can provide better customer service (Haq, 2016).
2.5 WASHOS
2.5.1 Brief
Washos is a mobile car wash application that using appointment scheduling method to
provide customers car wash services after they had make their appointment. Washos
delivers car services to customer’s doorstep and all the employees are committed to
provide satisfying and quality service. Their car wash service areas are Los Angeles
and Orange Country. Washos mobile car wash application has been launch officially in
Apple App Store in 2015.
18
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.5.2 Strengths
Appointment scheduling method is applied by WASHOS in their application. By using
appointment scheduling method, time-slot options are available to customers so that
they can choose the slot that they preferred. Furthermore, appointment scheduling
method may also increase the appointment and sales of the company.
Figure 2-5-2-1: Screenshots of booking details (Mobile Car Wash and Detailing)
19
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Account managing. Customers are able to manage their account after they registered
for an account. They can save or edit their personal information such as name and email.
Furthermore, customers can manage their car’s details, card’s details and also edit their
locations. It is more convenient because when customers make an appointment, they
can straight away select the details they added in their profile rather than typing in one
by one.
Online payment. WASHOS is a 100% cashless service which they do not accept cash
during transaction. Cashless society is on trending now and more and more business
are performing cashless transaction. WASHOS benefits customers with online payment
as the payment can be automatic and the transaction speed is fast (Advantages and
disadvantages of online payments, 2017). Besides, online payment lower the risk of
theft.
20
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.5.3 Weakness
GPS route tracking solution. Cleaner is assigned to the customers to clean their car
after the appointment is successfully booked. Cleaner will go to the location provided
by customers. Nevertheless, customers could not know the location of cleaner when
they are on the way to the location provided. It benefits customers more if customers
can check their route and status so that it saves customers’ time as they can get prepare
themselves on the estimated arrival time.
2.5.4 Recommendation
GPS route tracking solution. GPS route tracking solution will track the location and
status of the cleaner. Thus, customers are able to view the route, idle time and estimated
arrival time (Haq, 2016). Furthermore, GPS route tracking solution also secured
cleaner’s safety, assets and also operational (Haq, 2016).
2.6 Alphasphinx
2.6.1 Brief
Alphasphinx is a website (https://alphasphinx.com/ ) owned by Alpha Sphinx (M) Sdn
Bhd which provides excellent car wash services. Their service areas are Penang and
Selangor, Malaysia. Appointment scheduling is available for customers to select their
preferable time slot for car wash service in Alphasphinx. Their mission is to ensure
their customers get the best services in vehicles washing and detailing industry to meet
customers’ satisfaction.
21
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.6.2 Strengths
In Alphasphinx website, they have provide booking appointment or reservation features
by using appointment scheduling method. By using this method, it can keep every
employee on the same page as the whole team will follow the scheduled appointment
to provide services (PalmerScheduleSaturday, 2019). Hence, manpower is fully utilize.
22
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Automatic email notification. Email is sent when customers had successfully booked
an appointment. It is a great way to acknowledge customers that the appointment is
confirmed. Next, when customers edit the details of appointment or cancel the
appointment, customers will also receive email as confirmation. In a nut shell,
automatic email notification is important as customers can receive information and
increase the efficiency (McCabe, 2019).
2.6.3 Weakness
Online Payment. In Alphasphinx, there are no payment method available in their
website. Customers have to pay at the car wash center. Cashless society is growing up
nowadays and people now usually pay with e-wallet or credit card. Thus, it causes
inconvenient to some customers as they prefer to pay online.
2.6.4 Recommendation
Online Payment. Alphasphinx should provide various payment method for example
online banking, e-wallet, credit cards etc. as cashless transaction is on trending in the
society. Customers are not necessary to have a lot of money on hand. Cashless
transaction increases the safety and also decreases the crime rate of the society. When
online transaction is done, the transaction details is recorded and it is easier for the
company to review.
23
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
24
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
25
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
26
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
27
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.9.1.1 Brief
First Come First Serve (FCFS) scheduling algorithm is one of the simplest algorithm.
FCFS schedules tasks according to the task’s arrival time, where the first come task
will be the first serve task. It is same as First In First Out (FIFO), which the task that
added into the queue first will be the task that leave the queue first (FCFS scheduling
Algorithm: What is, example program). In addition, FCFS is also a non-preemptive
process. For example, in real-life situation, FCFS is applied on the ticket counter.
Customer is served based on the queue. The first customer who arrives the queue will
be the first one to be served and the first one to buy the ticket.
2.9.1.2 Advantages
FCFS is easy to understand. It is also simple to implement as it only includes simple
logic. Moreover, starvation will not occur since the tasks are executed according to the
arrival time.
2.9.1.3 Disadvantages
FCFS is a non-preemptive process, where the task will be executed to the completion
then only the next task will be executed. Hence, the average waiting time of task is
long. Task that has short execution time but arrive late will undergo long waiting time
and result in Convoy effect which the whole process is delayed because of the slow
processes (Difference between FCFS and SJF CPU scheduling algorithms 2020).
Hence, FCFS causes lower CPU utilization.
28
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.9.2.2 Advantages
It has low average waiting time compared to First Come First Serve (FCFS). Besides,
SJF increase the throughput as more tasks are executed in a short time. In short, SJF
has high effectiveness and high utilization due to the low average waiting time
(Techopedia, 2014).
2.9.2.3 Disadvantages
The disadvantages of implementing SJF is if there are many task with short execution
time coming in, those task with longer execution time will undergo longer waiting time.
Thus, it will lead to starvation where starvation is an unlimited postponement of a task
due to the failure to allocate resource to a task. In addition, SJF is not suitable to be
applied on a short term CPU scheduling.
29
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.9.3.2 Advantages
Least Laxity First (LLF) is an optimal algorithm when preemption is allowed. LLF will
come out with a feasible schedule if the feasible schedule exists. (ShivamKumar, 2020)
Besides, LLF also able to predict which task is going to miss its deadline. Hence, it
needs knowledge such as execution time and deadline of all the tasks.
2.9.3.3 Disadvantages
Least Laxity First (LLF) is a complex algorithm compared to other algorithm like First
Come First Serve (FCFS). LLF required additional information such as execution time
and deadlines. However, the execution time of the task in real-life is hard to predict.
30
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
2.11 Discussion
In Table 2-8-1, all of the car wash application reviewed provides two features which is
real-time scheduling and automatic message notification. Both of these features are
essential to be include in car applications that using appointment scheduling method
according to the applications reviewed. Besides, there are also several applications
provide online payment method. However, only one applications provide GPS route
tracking solution which is BR Car Wash. Thus, GPS route tracking solution is not
popular to be apply in car wash application currently.
The feature which is real-time scheduling will be included in this project. It provides
advantages to customers as they are just a click away to make an appointment.
Customers can book at anywhere, anytime they like. Furthermore, customers are able
to select their preferable time slot for car wash service based on real-time basis. It is
convenient and time saving as it is faster and more reliability when making an
appointment.
Next, automatic notification is also sent to customers after they confirmed or cancelled
the appointment. Customers are able to receive notification with the details of the
appointment. Besides, on the day of the appointment, notification is also sent to the
customers in order to remind them that they are having an appointment today.
Automatic notification or reminders helps those customers which is too busy or
forgetful. It prevents the no-show of customers and decrease the loss of the car wash
company.
Last but not least, GPS location tracking is an important feature to be added in this
project. Users can track the status of the car wash center in order to predict the arrival
time. Besides, customers are able to browse the car wash center nearby their location
and get to know their distances. GPS may also lead customers to the selected car wash
center in case customers are not familiar with the location of car wash center.
In Table 2-10-1, it shows the comparison between 3 scheduling algorithm which is First
Come First Serve (FCFS), Shortest Job First (SJF), Least Laxity First (LLF) scheduling
algorithm. FCFS scheduling algorithm has the highest average waiting time among all
the scheduling algorithm. Average waiting time is one of the most important feature to
determine whether the algorithm is efficient or not. Long waiting time may decrease
the level of customer satisfaction and lead to bad reputation of the car wash center. In
worst case, car wash centers will lose their customer because of long waiting time.
31
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 2 LITERATURE REVIEW
Hence, it is important to have high efficiency and short waiting time for customers.
Next, the situation which is starvation should be avoided. Starvation will cause some
of the tasks not going to be executed or the tasks have to wait indefinitely although the
tasks arrived early. Customer who made appointment at a particular time slot would
wish their appointment finished on time. However, if starvation happens, the
appointment will be delayed and missed the deadline. Hence, scheduling algorithm
should prevent the happen of starvation.
32
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
The system is separated into front-end and back-end. Besides, there are 3 different flow
in the system framework which is customer management flow, cleaner management
flow and database management flow. Different flow is represented by different color
of arrows.
34
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
35
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-3-1-1 above has shown the use case diagram of the appointment scheduling
system for car wash service. There are two type of users in this use case diagram which
is customer and cleaner of car wash center. Customer and cleaner are able to sign up,
sign in, sign out an account in this application. They also able to manage their profile
and edit their profile details such as username, phone number and manage their
password.
Next, customer is able to view nearby car wash center’s location or search for the
location of car wash center. They are also allowed to monitor the status of the car wash
center in real-time. Customer can make appointment for car wash service. Customers
can also view active appointment and their real-time progress on the home page.
Appointment can be cancel within an hour after the appointment was made. Notification
will be sent to customer when they made an appointment or cancelled an appointment
successfully. All the changes made to the appointment will be updated in the database.
They can also check their appointment history to see their previous appointment. In
addition, customers can view their vehicles in a list. They can add or delete vehicle
themselves.
For cleaner of car wash center, they are able to view all the appointments’ details and
also the scheduled appointment list. Cleaner are able to manage the appointment such
as they can update the status of the appointment when they start cleaning process or
they had already finished the cleaning process. In addition, cleaner is allowed to manage
the car wash center’s details. Any changes made in the car wash center details is updated
in the database. Cleaner is able to add new cleaner or remove cleaner. Next, they are
also allowed to add new service to the car wash center, edit the service details and delete
the service. Last but not least, they are able to manage the vehicle type such as add new
vehicle type and delete vehicle type.
36
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
4.1 If email have been used before, the system will back to
normal flow step 1.
37
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
3.3.2.2 Sign In
Use Case ID U002
Use Case Name Sign In
Purpose To allow user to sign in to the application
Actors Customer, Cleaner
Trigger User clicks “sign in” button in sign in page
Precondition 1. User is at sign in page
2. User has internet connection
38
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
39
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
40
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
41
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
42
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
43
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Table 3-4-2-8-1: Real-time Monitoring Car Wash Center Status Use Case Description
45
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
46
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
47
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
48
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
49
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
50
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
51
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
52
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Table 3-3-2-20-1: View Car Wash Center Details Use Case Description
53
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
54
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
55
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Table 3-3-2-25-1: Delete Car Wash Center’s Service Use Case Description
56
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
57
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Table 3-3-2-28-1: Delete Car Wash Center’s Cleaner Use Case Description
58
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
59
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
60
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
61
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
62
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
3.4.2 Sign In
63
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
64
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
65
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-5-1: View Nearby Car Wash Center’s Location in Map Activity Diagram
66
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-6-1: View Nearby Car Wash Center’s Location in List Activity Diagram
67
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
68
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-8-1: Real-time Monitoring Car Wash Center Status Activity Diagram
69
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
70
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
71
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
72
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
73
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
74
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
75
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
76
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
77
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
78
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
79
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
80
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
81
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
82
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
83
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
84
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
85
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
86
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
87
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
88
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
89
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-29-1: View Car Wash Center’s Vehicle Type Activity Diagram
90
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-30-1: Add Car Wash Center’s Vehicle Type Activity Diagram
91
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-4-31-1: Delete Car Wash Center’s Vehicle Type Activity Diagram
92
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
93
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
94
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
95
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
iii. Deadline
Deadline is the time at which the task has to be completed.
96
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
3.5.1.4 Find washing slot that has the shortest waiting time
Washing slot that has the shortest waiting time is chosen.
97
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
To start a project development, a new Android project in Android Studio and Firebase
account is needed. Next, the project needs to be connected to the Firebase to exploit the
authentication, real time database and cloud storage service. Dependencies is added to
include the external library in Android Studio in order to implement some extra
features.
3.6.1 Sign up
Figure 3-6-1-1 shows the code for sign up function. Firstly, when the sign up button is
pressed, user inputs such as email, password and confirmation password is retrieved by
the system. The system will check whether there are any missing inputs. If user input
is not complete, system will display error message to user. System will also check the
similarity of password and confirmation password. If the password and confirmation
98
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
does not match, error message will be displayed to user. Next, if there is no missing
inputs and password and confirmation password is the same, the system will create user
with createUserWithEmailAndPassword() function. If the user is created successfully,
system will direct user to create profile page.
Figure 3-6-2-1 shows the code for create profile function. When the create button is
pressed, it will trigger this create profile function. The input fields are retrieved by
system and do the checking. If the input fields are not complete, they system will
display error message to user. Else, system will store the input fields such as email,
name and phone into HashMap. Then, all the input fields stored in the HashMap will
add to “user” collection in Cloud Firestore.
99
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
3.6.3 Sign In
100
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-3-1 shows the coding of sign in function. When user clicks the sign in button,
sign in function is triggered. System will retrieve the inputs from user and determine
whether there are any missing fields. If there is missing fields, the system will display
error message to inform user. Else system will call the function
signInWithEmailAndPassword() function. signInWithEmailAndPassword() function is
use to authenticate the user. If the user signs in successfully, user is directed to home
page. Else, error message is displayed to user.
Figure 3-6-3-2 shows the coding of identity user role function. When the user
successfully authenticates identity, the system will get user’s details. If the user’s role
is “customer”, user is directed to customer home page. If the user’s role is
“carWashCenter”, user is directed to cleaner home page.
101
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-4-1-1 shows the coding of display user profile. Firstly, the user details are
retrieved from the Firestore. Then, system display the user details in user profile page.
Moreover, the profile picture is retrieved from the Firebase Storage using the user ID
as the image path.
102
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
103
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-4-2-1 shows the coding of update profile function and Figure 3-6-4-2-2
shows the coding of upload profile picture. When user clicks the “update” button, the
update profile function is triggered. The system will get all the user inputs and store
into HashMap. If the user input is not complete, the system will display error message
to notify the user. Else, if the input is completed, the user profile is updated successfully
in Firestore. Besides, the profile picture is also updated in Firebase Storage. Figure 3-
6-4-2-3 below shows the profile picture stored in Firebase Storage.
104
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
105
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
106
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
107
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
108
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Then, the marker is added into the Google Map. When user click on the marker, the
system will direct user to the Google Map application and provides direction to user.
109
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
110
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-6-1-4 shows the coding of adding marker for car wash center nearby. To
check whether the car wash center in 5 kilometers away from user’s location, for loop
is used. If the distance between the car wash center and user’s current location is in 5
kilometers, the marker is added to the Google Map.
111
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
When user clicks on the marker, showBottomSheet() function is called. This function
is to pop out a bottom view and display the details of car wash center. The inflator is
used to inflate the bottom sheet design file into a view. The marker contains the car
wash center and store the car wash center as object. Then, the car wash center is passed
into showBottomSheet() function. The details of the car wash center are retrieved using
the defined getter function in car wash center class.
112
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Firstly, all the components in the inflated view need to be defined and initiate. The
component in the inflated view is defined using their view ID. In figure 3-6-6-2-3,
component such as the name, phone, address, opening hour and distance is declared
here.
114
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
The filtered car wash center array list is display using recycler view. Recycler view is
used to hold all the filtered car wash center. The adapter is used to handle each
component of the filtered car wash center displayed in recycler view. In figure 3-6-6-
3-3, the inflator is used to inflate the filtered car wash center row design file into a view.
116
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
117
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
118
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
In figure 3-6-6-5-2, the vehicle array list is passed to the recycler view adapter. The
vehicle list is display using recycler view. Recycler view is used to hold all the user’s
vehicle list. The adapter is used to handle each vehicle displayed in recycler view. In
figure 3-6-6-5-3, the inflator is used to inflate the user’s vehicle row design file into a
view.
Each of the vehicle in the vehicle array list is retrieved and the details is displayed. The
onBindViewHolder() is used to hold each of the component value of the inflated view.
The getter function defined in the vehicle class is used to get the value from the vehicle
in vehicle array list.
system will check whether the input field is completed. If the inputs are not completed,
the system will display error message to inform user. Else, the system will update the
Firestore. The system will insert the newly added vehicle to the user’s database.
Besides, the system will also insert the new vehicle to the vehicle list and call
setVehicleAdapter() function again to display the latest vehicle list to user.
122
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
in recycler view. In figure 3-6-6-6-1, the inflator is used to inflate the car wash center’s
service row design file into a view.
123
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
124
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-6-7-1 shows the coding of displaying service details function. The selected
service details are obtained from the service passed from the previous activity using
intent. Then the data obtained is set to the respective text view in the service details
page.
126
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
127
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
128
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
129
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
display using recycler view. Recycler view is used to hold all the appointment in
appointment history array list. The array list is then passed into the adapter. The adapter
is used to handle each appointment displayed in recycler view. In figure 3-6-8-2, the
inflator is used to inflate the appointment history row design file into a view.
Each of the appointment in the appointment history array list is retrieved and the details
is displayed. The onBindViewHolder() is used to hold each of the component value of
the inflated view. The getter function defined in the appointment class is used to get the
value from the appointment in appointment history list.
131
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-9-1-1 shows the coding of retrieve user’s vehicle from Firestore function.
The vehicle is retrieved from the “user” collection from Firestore. System get the
vehicle list from user’s document. The vehicle list is display using recycler view.
Recycler view is used to hold all the vehicle in vehicle list. The list is then passed into
the adapter. The adapter is used to handle each vehicle displayed in recycler view. In
figure 3-6-9-1-2, the inflator is used to inflate the vehicle row design file into a view.
The getter and setter function defined in the vehicle class is used to get the value from
the vehicle in vehicle list.
133
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
input is retrieved by the system. The system will then check if there are any missing
inputs. If there is missing inputs, error message is displayed to user. If the input is
complete, the system will update the database by adding the vehicle to the user’s
document in Firestore.
134
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
View holder need to be defined and initiate. The component in the inflated view is
defined using their view ID. In figure 3-6-10-3, component such as the notification title,
content and date are declared. Onclick() function is triggered when the user clicked on
the notification in the recycler view. It will return the position of the notification in the
notification list.
136
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
function defined in the notification class. The value get is then set to the respective text
view using setText() function.
137
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
138
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
139
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
140
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
141
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
142
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
143
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
144
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
If the user input is complete, the system will get the value of the address of the car wash
center and transform it into longitude and latitude. Next, all the car wash center details
is updated in the Firestore using update() function.
146
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
147
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
148
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
149
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
150
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
151
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
152
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
Figure 3-6-16-1-1: View Car Wash Center Vehicle Type Adapter (1)
In Figure 3-6-16-1-1, the vehicle type of car wash center is retrieved from the “car wash
center” collection in Firestore. All the vehicle types are stored in an array list. The
services are displayed using recycler view. Recycler view is used to hold all the vehicle
type in vehicle type list. The adapter is used to handle each vehicle type displayed in
recycler view. Hence, the vehicle type list is pass into the adapter.
Figure 3-6-16-1-2: View Car Wash Center Vehicle Type Adapter (2)
In figure 3-6-16-1-2, the inflator is used to inflate the vehicle type row design file into
a view.
Figure 3-6-16-1-3: View Car Wash Center Vehicle Type Adapter (3)
153
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
View holder need to be defined and initiate. The component in the inflated view is
defined using their view ID. In figure 3-6-16-1-3, component such as the vehicle type
name is declared.
Figure 3-6-16-1-4: View Car Wash Center Vehicle Type Adapter (4)
Each of the vehicle type in the vehicle type list is retrieved by position and the details
is displayed. The holder is used to hold each of the component value.
154
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
155
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
156
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
157
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
158
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
159
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
160
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 3 SYSTEM DESIGN
161
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS
4.2 Methodology
Methodology is a systematic approach to implementing the System Development Life
Cycle (SDLC). Throw away prototype method is used to develop the mobile application
in this project. This methodology also known as close-ended prototyping. The benefit
of using this methodology is it can get feedback from users and able refine the user
requirements in the early development of system. Throw away prototype can deal with
the errors or issues until it is resolved. After the issues are resolved, the progress will
move to the next phase which is implementation phase. Overall, throw away prototype
can minimize the risk of user requirements that are poorly defined.
162
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS
163
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS
164
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS
165
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 4 METHODOLOGY AND TOOLS
Design Phase
Identify methodology used in
this project
Identify technologies and tools
needed in this project
Design system framework
Design system using diagrams
Implementation Phase
Create prototype
Enhance prototype
incrementally
Test the system
Deploy the system
Documentation
166
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
167
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
When user downloaded the application and they opened the application, the user is
launched to the sign up page. In the sign up page, the icon of the application is shown.
For first time user or user that does not have an account, they have to register an account
in the sign up page. Firstly, user have to fill in 3 fields which is email, password and
confirmation password. Email is needed in order to create an account and for log in
purpose. The password and confirmation password is needed in order to verify the user
during the authenticate process next time when user log in. The password and
confirmation password must be the same. After user had completed all the input fields,
the user can click the sign up button in order to continue the sign up process. If the user
already has an account for this application, they user can click the text at the bottom of
the page and the system will direct user to the sign in page.
The user is registered successfully now. However, the user profile is not stored in Cloud
Firestore yet because the user is first time login user. Hence, when the system detected
the first time user, the system will direct user to the create profile page as shown in
168
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-1-2. The user needs to fill in the name and phone number. User can click the
complete button when they completed the form. The user input will store in the Cloud
Firestore under the user collection.
169
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-3-1: Customer Home Page Figure 5-2-3-2: Customer Home Page’s
Navigation Bar
After user had logged in to the account, the system will check the role of the user. If the
role of user is customer, the user will be directed to the customer’s home page. In the
customer home page, there is welcome greetings, book now button and a list of active
appointment. Customer can click the “book now” button if they want to make a car
wash appointment. Then, the active appointment is display at the bottom of the
customer’s home page. The active appointment is placed at home page because it is
easier for customer to check their coming appointment or on going appointment.
Besides, there is a navigation bar at the customer’s home page. Profile picture and email
of the customer is displayed at the top of the navigation bar. The menu that lead to
different page is also listed in the navigation bar such as history, profile, vehicle and
notification. It is convenient for customer to choose which features they want or which
page they go.
170
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-4-1: View Nearby Car Wash Figure 5-2-4-2: View Nearby Car Wash
Center in Map Page Center Details in Map Page
Figure 5-2-4-1 shows the screenshot of view nearby car wash center in map page. In
this page, the marker pinned on the map shows the location of the car wash center
nearby. The red marker indicates the current location of the user while the yellow
marker indicates the car wash center nearby. The user will see the car wash center
nearby in 5KM. When the user clicked on the yellow marker, a bottom view is pop out.
The bottom view contains the details of the car wash center such as the distance away,
business hour, phone number and the address. If the user wants to make appointment at
this car wash center, they can click the “book now” button to select the car wash center.
On the top of the page, there is a search bar that allows user to search for the car wash
center by name. There is a “view list” button on the bottom of the page.
171
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
172
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-6-1: Search Car Wash Center Figure 5-2-6-2: Search Car Wash
Page (1) Center Page (2)
Figure 5-2-6-1 shows the screenshot of the search car wash center page. It is used to
search the car wash center when user wants to make an appointment at a specific car
wash center. User can search the car wash center by name. When user enter the name
of the car wash center, the system will filter the car wash center that contains the user’s
input. The car wash center filtered is then displayed in a list. The name and address of
the car wash center is displayed. When user clicked on the car wash center displayed,
user is directed to a map.
173
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-6-3: Search Car Wash Center Figure 5-2-6-3: Search Car Wash Center
Page (3) Page (4)
When user clicked on the car wash center displayed on the filtered car wash center list,
user is directed to a new map. The red marker indicates the location of the car wash
center in map. When the user clicked on the red marker, a bottom view is pop out. The
bottom view contains the details of the car wash center such as the distance away,
business hour, phone number and the address. If the user wants to make appointment at
this car wash center, they can click the “book now” button to select the car wash center.
174
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
175
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-8-1: Select Vehicle Page (1) Figure 5-2-8-2: Select Vehicle Page (2)
Next, figure 5-2-8-1 shows the select vehicle page. User needs to select the vehicle that
they want to make appointment. In this page, all the vehicle of the user is displayed out
with their details. It brings convenient to user as they no need to fill in the vehicle details
again if they want to repeat booking for the same vehicle. Below the vehicle list is a
“add vehicle” button and “continue” button. User can click on the “new vehicle” button
if they wanted to add a new vehicle. User selects the vehicle that they wanted to book
the appointment and a tick icon will appear on the selected vehicle.
176
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
177
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-9-1: Select Service Page Figure 5-2-9-2: Service Details Page
Figure 5-2-9-1 shows the screenshot of select service page. All the service provided
from the selected car wash center is displayed in this page in a list. A card view contains
the details of the service provided such as the service name, price and a short description
is included. It is for customer to have simple introduction of the service. When customer
clicked on the service, customer is directed to the service details page. In this page, the
service details such as the service name, price, short description, estimated service
duration and also the long description of the service is listed here. Customer can
understand more about the service provided. To continue the booking process, customer
can click on the “continue” button.
178
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-10-1: Select Time Slot Page Figure 5-2-10-2: Select Time Slot Page
(1) (2)
Figure 5-2-10-1 shows the screenshot of select time slot page. On the top is the
Horizontal Calendar and available time slot is displayed in this page. The horizontal
calendar allows customer to select the date for the appointment. Customer can swipe to
select the date. However, the customer cannot select the past date. Next, the available
time slot is listed. Customer can select the time slot as they preferred. When customer
selected the time slot, a tick will appear beside the selected time slot. To continue the
booking process, customer clicks “continue” button.
179
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
180
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
181
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
182
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
183
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
In user profile page, the details of the user such as the email, name and phone number
is displayed. The details of user are retrieved from the Cloud Firestore. User can change
their name and phone number. However, they are not allowed to change the email
because the system needs the email to authenticate the identity of user. If user wants to
change their password, they need to click the “change password” button in the profile
page. Then, they will be directed to the change password page. User need to key in the
current password, new password and confirmation password. Current password is
needed in order to authorized the user. next, the new password and confirmation
password need to be the same as it is used to confirm the new password. When user
clicks the “change” button, the password of the user is changed successfully.
184
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-14-1 shows the screenshot of appointment history list. All the history of the
customer is retrieved form the Cloud Firestore and displayed. In appointment history
list page, the card view is used to hold the overall details of the appointment such as the
car wash center name, service name, price, appointment time and appointment status.
When customer clicked into the appointment, customer is directed to appointment
details page as shown in figure 5-2-14-2. The appointment details such as the car wash
center details, appointment time, service details and total price is displayed. On the
upper part of the page is a map with marker which indicates the location of the car wash
center.
185
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-15-1 shows the screenshot of notification list. All the notification received
by the customer is retrieved form the Cloud Firestore and displayed. In notification list
page, the card view is used to hold the overview of notification such as the notification
title and time received. When customer clicked into the notification, customer is
directed to notification details page as shown in figure 5-2-15-2. The notification details
such as the title, time and content are displayed.
186
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-16-1: Customer Vehicle List Figure 5-2-16-2: Add Customer Vehicle
Page Page
Figure 5-2-16-1 shows the screenshot of customer’s vehicle list. All the customer’s
vehicle is retrieved form the Cloud Firestore and displayed. In customer’s vehicle list
page, the card view is used to hold the details of the vehicle such as the vehicle brand,
model, plate number and colour. On the top right side of the card view has a delete icon
and it will perform delete function if the user clicked on it. Below of the customer
vehicle list page has a “add vehicle” button. When customer clicked on the button, user
is directed to add vehicle page. There are 4 inputs required which is the vehicle brand,
model, plate number and colour. After customer had completed the form, they can click
the “complete” button. The new vehicle is added to the Cloud Firestore and the
customer vehicle list is updated.
187
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
188
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-17-1: Cleaner’s Home Page Figure 5-2-17-2: Cleaner’s Home Page
Navigation Bar
After user had logged in to the account, the system will check the role of the user. If the
role of user is cleaner, the user will be directed to the cleaner’s home page. In the cleaner
home page, there is the name of the car wash center and the washing slot of the car
wash center. Cleaner can click on the washing slot to see the scheduled appointment of
the car wash center. Besides, there is a navigation bar at the cleaner’s home page. Profile
picture and email of the cleaner is displayed at the top of the navigation bar. The menu
that lead to different page is also listed in the navigation bar such as history, car wash
center and profile. It is convenient for cleaner to choose which features they want or
which page they go.
189
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
190
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Now, the cleaner needs to start the car wash service. Hence, cleaner clicked on the
“start” button. An alert dialog is pop out as shown in figure 5-2-19-2. The alert dialog
is to prompt for the confirmation to start the appointment. To confirm, cleaner needs to
click on the “yes” button. The status of the appointment will be changed and the
customer will also be informed.
191
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Now, the cleaner needs to stop the car wash service. Hence, cleaner clicked on the
“finish” button. An alert dialog is pop out as shown in figure 5-2-19-3. The alert dialog
is to prompt for the confirmation to stop the appointment. To confirm, cleaner needs to
click on the “yes” button. The status of the appointment will be changed and the
customer will also be informed.
192
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-20-1: Car Wash Center Figure 5-2-20-2: Car Wash Center
Appointment History Page (1) Appointment History Page (2)
Figure 5-2-20-1 shows the screenshot of the car wash center appointment history page.
This page displays all the appointment according to the date. Besides, cleaner also can
view the total number of appointment and total profit earn on a certain date. On the top
of the page has a search bar which allows cleaner to search for the appointment by
appointment ID. Then, below the search bar is a banner that display the date. Cleaner
can clicked on the date to change the date they want to view. When they clicked on the
date, date picker dialog is pop out as shown in figure 5-2-20-2. Cleaner can select the
date as they preferred. After the date is selected, the appointment of the selected day is
displayed out in list. On the bottom of the page, the total number of appointment and
total profit earned on the date selected is displayed.
193
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-20-3: Search Car Wash Figure 5-2-20-4: Search Car Wash
Center’s Appointment History Page (1) Center’s Appointment History Page (2)
Figure 5-2-20-3 shows the screenshot of search car wash center’s appointment history
page. Cleaners are able to search the appointment by ID in this page. When cleaner
enter the ID of the appointment, the system will filter the appointment that contains the
cleaner’s input. The appointment filtered is then displayed in a list. The ID, appointment
time and price is displayed. When cleaner clicked on the appointment displayed, cleaner
is directed to appointment details page.
194
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
195
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-21-1: Car Wash Center Figure 5-2-21-2: Car Wash Center
Profile Page (1) Profile Page (2)
Figure 5-2-21-1 and figure 5-2-21-2 shows the screenshot of car wash center profile
page. All the details of the car wash center profile are displayed in this page. The details
such as the name, business hour, state, city, address, and profile picture is included in
this page. If cleaner wanted to edit the details of the car wash center, they can just edit
on the edit box and clicked on the “update” button. When the “update” button is clicked,
the details of the profile will be updated in Cloud Firebase. In addition, the profile
picture of the car wash center will be store in the Cloud Storage.
196
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
197
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-22-2: Car Wash Center Figure 5-2-22-3: Car Wash Center
Service Details Page (1) Service Details Page (2)
Figure 5-2-22-2 and figure 5-2-22-3 shows the screenshot of car wash center service
details page. All the details of the service are displayed here. In this page, the details of
service such as service name, short description, long description, service photo, and
service category is displayed. Service category is the service that provides to different
vehicle type. The service provided to different type of vehicle has different price and
duration. Each of the service category contains a few details which is the vehicle type,
minimum duration, maximum duration and the price. There are also an edit icon and a
delete icon at the top right corner of the card view. Below the service category list has
a “add category” button. Cleaner can add service category by clicking the button. If the
cleaner edited the details of the service, they need to click on the “save changes” button
in order to save the changes and update the database.
198
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-22-4: Car Wash Center Figure 5-2-22-5: Car Wash Center
Service Details Page (3) Service Details Page (4)
When cleaner clicked on edit button at the top right corner of the service category card
view, a dialog is pop out and display all the details of the service category as shown in
figure 5-2-22-5. Cleaner can edit the price, minimum duration and maximum duration
of the service category. After finish editing, cleaner need to click on the “save” button
to save the changes.
When cleaner clicked on the “add category” button, a dialog is pop out and prompt for
the details of the service category as shown in figure 5-2-22-4.Cleaner need to slect the
vehicle type, fill in the price, minimum duration and maximum duration of the service
category. Then, click “save” button to add the service category.
199
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
200
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-22-7: Add Car Wash Center Figure 5-2-22-8: Add Car Wash Center
Service Page (1) Service Page (2)
Figure 5-2-22-7 and figure 5-2-22-8 shows the screenshot of add car wash center
service page. To add new service, cleaner have to fill in the details such as service name,
short description, long description, and add the service category. After cleaner had
complete the details, they can click “complete” button to add the service. The system
will check the input and update the database.
201
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
202
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-23-1: Car Wash Center Figure 5-2-23-2: Add Car Wash Center
Vehicle Type List Page Vehicle Type Page
Figure 5-2-23-1 shows the screenshot of the car wash center vehicle type page. All the
vehicle type the car wash center serve is displayed in a list. Each card contains the
vehicle type name. A “add vehicle type” button is placed at the bottom of the page.
Cleaner can click the button if they want to add new vehicle type to the car wash center.
When cleaner clicked on the button, a dialog is pop out and prompt for the new vehicle
type name. cleaner enters the new vehicle type and clicked the “add” button. And
finally, the vehicle type is added successfully. The system will also update the vehicle
type of the car wash center in Cloud Firestore.
203
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
204
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
Figure 5-2-24-1: Car Wash Center Figure 5-2-24-2: Add Car Wash Center
Cleaner Page Cleaner Page
Figure 5-2-24-1 shows the screenshot of the car wash center cleaner page. All the car
wash center’s cleaner is displayed in a list. Each card contains the cleaner name, email
and phone number. A “add cleaner” button is placed at the bottom of the page. Cleaner
can click the button if they want to add new cleaner to the car wash center. Then, the
system will direct cleaner to the add car wash center cleaner page as shown in figure 5-
2-24-2. In add cleaner page, the cleaner need to fill in the details which is the new
cleaner’s name, email, phone number, password and confirmation password. Email is
needed in order to create an account and for log in purpose. The password and
confirmation password is needed in order to verify the cleaner during the authenticate
process next time when cleaner log in. The password and confirmation password must
be the same. After cleaner had completed all the input fields, the cleaner can click the
“complete” button in order to add the new cleaner.
205
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
206
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
207
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
208
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
P1
P2
P3
TASK
P4
P5
P6
Given time exceeding deadline ≥ 0, the time exceeding deadline of task is calculated
by using the formula below:
Time Exceeding Deadline = End Time – Deadline
Hence, the average time exceeding deadline for First Come First Serve is calculated
as below:
Average time exceeding deadline = (0 + 0 + 0 + (80-50) + (110-100) + (125-80)) /6
= 85/6
= 14.167 minutes
209
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
P1
P2
P4
TASK
P3
P6
P5
Given time exceeding deadline ≥ 0, the time exceeding deadline of task is calculated
by using the formula below:
Time Exceeding Deadline = End Time – Deadline
Hence, the average time exceeding deadline for Least Laxity First scheduling
algorithm is calculated as below:
Average time exceeding deadline = (0 + 0 + 0 + (80-70) + (95-80) + (125-100)) /6
= 50/6
= 8.333 minutes
210
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
5.3.3 Discussion
The average waiting time for First Come First Serve (FCFS) Scheduling Algorithm is
20.833 minutes while the waiting time for Least Laxity First (LLF) scheduling
algorithm is 15.833 minutes. Hence, the average waiting time for LLF scheduling
algorithm is shorter than FCFS scheduling algorithm by 5 minutes.
Besides, the average time exceeding deadline for First Come First Serve (FCFS)
Scheduling Algorithm is 14.167 minutes while the average time exceeding deadline for
Least Laxity First (LLF) scheduling algorithm is 8.333 minutes. Hence, the average
time exceeding deadline for LLF scheduling algorithm is shorter than FCFS scheduling
algorithm by 5.834 minutes.
In conclusion, Least Laxity First (LLF) scheduling algorithm is chosen to implement
in this project in order to increase the performance of the application.
211
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
The first question asked is the gender of the respondents as shown in figure 5-4-1.
Among 10 respondents, 60% of them are male and 40% of them are female. As shown
in figure 5-4-1, the number of male respondent is higher than female respondents.
Different gender may have different opinion towards the application due to the differ
in usage habits.
Figure 5-4-3: Rating of the Application Helps in Booking Car Wash Appointment
212
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
For the third question of the feedback form, it is to ask the respondents to rate whether
the application helps in booking car wash center appointment. Respondents need to rate
from grade 1 (not helpful at all) to grade 5 (excellent). If respondent felt that this
application saves time and helps them a lot in making a car wash appointment, they can
rate for grade 5. Else, if the user thinks that this application cannot help them in booking
an appointment, they can rate for grade 1. Results had shown in figure 5-4-3 that all of
the respondent rate for grade 4 and above. Majority of the respondent which is 70% of
the respondent rate for grade 5 while 30% of the respondent rate for grade 4. In short,
majority of the respondent agree that this application helps in booking car wash
appointment.
213
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
had rate for grade 4 and grade 5 which the overall responses are above average. 60% of
the respondents rate for grade 5 and 40% of the respondents rate for grade 4. Overall,
the respondents are still satisfied with the system performance.
215
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 5 IMPLEMENTATION AND TESTING
for help. Hence, respondent wish to have chat feature in this application. It is convenient
for customer to get in touch with the car wash center and help center. In addition,
respondent also proposed to include the reward feature in the application. Respondent
wish to have free coupons, gift cards or points given when they finish an appointment
using this application. Reward feature not only can prompt customer to make more
appointment using this application, it also can attract new customers to use this
application. And lastly, the respondent proposed that the application can support
different language such as Malay and Chinese. By adding this support, customers may
feel more comfortable with their native language.
5.5 Summary
In conclusion, all the function and feature proposed in this project is built successfully.
The result of development via the application screenshot is inserted and the
functionality carried out is explained in this chapter. Besides, the benchmark
performance of different algorithm is carried out. It had proven that Least laxity time
scheduling algorithm is more suitable to be applied in this project. In addition, user
feedback from 10 respondents is gathered and analyzed. In conclusion, the user
feedback is overall positive. There are also many feasible suggestions from users and
can be accepted to enhance the application in the future works.
216
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 6 CONCLUSION
CHAPTER 6 CONCLUSION
6.1 Project Review, Discussion and Conclusion
Car wash service market now are growing annually and the customers’ demand are
increasing every year. Nowadays, car wash service can be found anywhere. For
example, standalone car wash, petrol station and elsewhere. Society now are living in
a fast pace of live and many of them even does not have time to rest. Car wash center
provides car wash services to people who wants to save time and save energy. Car wash
center has make may people life more convenient indeed.
Since the number of consumers in car wash service market increases year by year, there
are some problems faced by customers and car wash center agency. Customers has to
wait for a long time as there is long queue in the car wash center. Most of the customers
are busy and they do not have many free time to wait for the queue. For the worst case,
customers may need to wait for at least a few hours until their turn to get a car wash
service. Next, some customers need to have car wash service even they are not at their
hometown. For example, they might be outstation, went to travel or went to other places
which customers are not familiar with. In addition, the poor attendance of car wash
appointment is also one of the problems faced by the car wash center. In the old days,
people make appointment by calling to the car wash center or some of them need to go
for miles to make an appointment. Thus, it is not convenient to customers as it is so
troublesome.
All the problem mentioned above had motivate the development of this project. At the
end of this project, an application named “Sparkle” has been delivered successfully.
Throw-away prototype methodology is used to develop the mobile application in this
project. The objective of this project is to integrate appointment scheduling system in
the car wash service mobile application in order to increase the attendance of customers.
Customers just have to download the application and they can make appointment using
the application. It is much more convenient compared to making an appointment using
calls. Moreover, a scheduling algorithm which is Least Laxity First (LLF) is used for
scheduling appointments on real-time basis. Customers are able to manage their
appointments as they preferred. Hence, it can enhance the user experience while using
this application. Last but not least, the feature GPS location tracking is implemented.
Customers not only able to view car wash center nearby, they can also view the slot
available on real time basis. As a car wash service mobile application, features such as
217
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 6 CONCLUSION
218
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
CHAPTER 6 CONCLUSION
execute. This scheduling algorithm will schedule the appointments according to the
laxity of appointments which least laxity time will be execute first. Thus, schedule
appointment using scheduling algorithm is more effective as it can utilize the cleaner
to carry out the cleaning process and minimize the waiting time of users. Less waiting
time not only increase the customer satisfaction to the car wash center, it will also earn
car wash center good reputation. Hence, it not only increases the appointment and
customer attendance, it also increases the profit of the car wash center.
In short, this application not only saves a lot of time and energy, it also efficient to all
the users including customers and car wash centers due to the useful features
implemented in this application.
219
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
BIBLIOGRAPHY
BIBLIOGRAPHY
Alina, 2019. The 37 Advantages and Disadvantages of Live Chat. Userlike Live Chat.
Available at: https://www.userlike.com/en/blog/live-chat-advantages-
disadvantages [Accessed August 10, 2020].
Anastasia Z., 2018. Why Are Push Notifications So Important? RubyGarage. Available
at: https://rubygarage.org/blog/benefits-of-push-notifications [Accessed
August 10, 2020].
Anon, 2017. Advantages and disadvantages of online payments. Small Business First.
Available at:
https://smallbusinessfirst.kochiesbusinessbuilders.com.au/advantages-and-
disadvantages-of-online-payments/ [Accessed August 10, 2020].
Baxter, 2020. My Honest Review of Get Spiffy Mobile Car Wash & Detailing. Carwash
Country. Available at: https://www.carwashcountry.com/get-spiffy-mobile-
car-wash-detailing-review/ [Accessed August 23, 2020].
Gaille, B. (2017) “21 Car Wash Industry Statistics and Trends,” BrandonGaille.com,
23 May. Available at: https://brandongaille.com/19-car-wash-industry-statistics-
and-trends/ (Accessed: August 28, 2020).
Haq, S., 2016. 5 Benefits of GPS Tracking - Copy. Teletrac Navman. Available at:
https://www.teletracnavman.com/resources/blog/5-benefits-of-gps-tracking-
copy [Accessed August 10, 2020].
220
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
BIBLIOGRAPHY
Staff, A.F., 2019. 5 Ways GPS Tracking Can Benefit Your Business. Telematics -
Automotive Fleet. Available at: https://www.automotive-fleet.com/334347/5-
ways-gps-tracking-can-benefit-your-business [Accessed August 10, 2020].
Stevenson, D., 2018. What is Firebase? The complete story, abridged. Medium.
Available at: https://medium.com/firebase-developers/what-is-firebase-the-
complete-story-abridged-bcc730c5f2c0 [Accessed August 23, 2020].
User, G., 2016. The Biggest Benefits of Real Time Scheduling. TimeTap Online
Scheduling. Available at: https://blog.timetap.com/blog/2016/2/16/the-biggest-
benefits-of-real-time-scheduling [Accessed August 10, 2020].
Zhang, W., Teng, S., Zhu, Z., Fu, X., & Zhu, H. (2007). An Improved Least-Laxity-
First Scheduling Algorithm of Variable Time Slice for Periodic Tasks. 6th IEEE
International Conference on Cognitive Informatics.
doi:10.1109/coginf.2007.4341935
221
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
WEEKLY LOG
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
The location of car wash center that is nearby users’ location is retrieved
from database and marker(s) is added to the Google Map.
The data of the car wash center is retrieved from database and the
overview
of car wash center is shown after users clicked the marker.
1.3 Users are able to view the car wash center nearby their current location
(within 5km) in a list
The overview of all car wash center nearby is displayed in a list.
1.4 Users are able to search their preferable car wash center
Users can search car wash center by entering the name of car wash
center.
2. Homepage
2.1 Front-end is designed and coded.
3. Make appointment module
3.1 Front-end of user making appointment is developing.
222
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
2. WORK TO BE DONE
1. Make appointment module
1.1 Front-end of user making appointment.
1.2 Back-end of user making an appointment.
1.3 Update database when user successfully made appointment.
3. PROBLEMS ENCOUNTERED
Some bugs and errors are found when implementing Google Map to the application.
I also found that it is challenging when managing data in database.
_________________________ _________________________
Supervisor’s signature Student’s signature
223
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
FINAL YEAR PROJECT WEEKLY REPORT
(Project II)
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
2. Home Page
2.1 Active appointment is listed in the homepage
2. WORK TO BE DONE
1. Auto-generated notification
224
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
1.1 Notification is sent automatically once they booked appointment
successfully
2. Implement scheduling algorithm to schedule the appointment
3. PROBLEMS ENCOUNTERED
It is very challenging while designing interface and coding the layout. It also took
me some time to check the availability of the time slot.
_________________________ _________________________
Supervisor’s signature Student’s signature
225
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
FINAL YEAR PROJECT WEEKLY REPORT
(Project II)
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
1. Notification function
1.1 Users will receive notification when they booked the appointment
successfully.
1.2 Users will receive notification when they cancel the appointment
successfully.
2. WORK TO BE DONE
1. Car wash center can customize the vehicle type
2. Car wash center can customize the opening and closing hour
3. Car wash center can manage their own service and cleaner
3. PROBLEMS ENCOUNTERED
Faced some problems when implementing notification function. However, I am able
to find solutions and now I had successfully solved the problems.
226
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
_________________________ _________________________
Supervisor’s signature Student’s signature
227
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
FINAL YEAR PROJECT WEEKLY REPORT
(Project II)
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
2. WORK TO BE DONE
1. Adjust some of the user interface for better user experience.
2. Car wash center can customize their own car wash center’s picture and
service’s picture.
3. PROBLEMS ENCOUNTERED
No problem encountered.
4. SELF EVALUATION OF THE PROGRESS
The goal proposed in this 2 weeks is achieved.
_________________________ _________________________
Supervisor’s signature Student’s signature
228
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
FINAL YEAR PROJECT WEEKLY REPORT
(Project II)
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
1. Upload image
1.1 Car wash center are able to add their car wash center image. The image
path stored in storage is also stored in database. Car wash center can also
change their car wash center image.
1.2 Car wash center are able to customize the image of their service.
2. User interface adjustment
Alignment, font size, button size is adjusted for better user experience
3. Performance of algorithm is tested
2. WORK TO BE DONE
1. Documentation and writing report
3. PROBLEMS ENCOUNTERED
No problem encountered.
_________________________ _________________________
Supervisor’s signature Student’s signature
229
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
FINAL YEAR PROJECT WEEKLY REPORT
(Project II)
1. WORK DONE
[Please write the details of the work done in the last fortnight.]
2. WORK TO BE DONE
1. Complete Chapter 5 and Chapter 6 of FYP 2 report
2. Design poster
3. Combine report and check report format
3. PROBLEMS ENCOUNTERED
No problem encountered.
_________________________ _________________________
Supervisor’s signature Student’s signature
230
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
POSTER
231
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
PLAGLARISM CHECK RESULT
232
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
233
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
234
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
Universiti Tunku Abdul Rahman
Form Title : Supervisor’s Comments on Originality Report Generated by Turnitin
for Submission of Final Year Project Report (for Undergraduate Programmes)
Form Number: FM-IAD-005 Rev No.: 0 Effective Date: Page No.: 1of 1
01/10/2013
Title of Final Year Project Appointment Scheduling System for Car Wash Service
Similarity by source
Internet Sources: ___1____%
Publications: ____1_____%
Student Papers: ____3_____ %
Based on the above results, I hereby declare that I am satisfied with the originality of the
Final Year Project Report submitted by my student(s) as named above.
___________________________ ______________________________
Signature of Supervisor Signature of Co-Supervisor
235
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR
UNIVERSITI TUNKU ABDUL RAHMAN
FACULTY OF INFORMATION & COMMUNICATION
TECHNOLOGY (KAMPAR CAMPUS)
______________________ ______________________
(Signature of Student) (Signature of Supervisor)
Date: 3/9/2021 Date: 3/9/2021
236
Bachelor of Computer Science (Honours)
Faculty of Information and Communication Technology (Kampar Campus), UTAR