Task D - Final Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 94

ITE 2952 Programming Group Project

WEB BASED HOME SERVICE BOOKING MANAGEMENT

FOR

FINGER TIP

Prepared by

Code Warriors

Rashad M.I.A – E2041370

Ishkhan Ahamed I – E2041335

Divyanjali P.L.U.I – E2041405

Bachelor of Information Technology (External Degree)


Faculty of Information Technology
University of Moratuwa
2022 December
Abstract
The FingerTip Home Service Management System is a comprehensive platform designed to
streamline and optimize the scheduling, dispatch, and completion of home service appointments.
With a user-friendly interface and powerful back-end tools, FingerTip simplifies the process of
managing and coordinating multiple service providers and clients, ensuring that all parties are
connected and informed throughout the service process. The system includes features such as
browse and book services, real-time tracking of services, service provider and client
management, and providing feedback on the quality of service. On the provider side, the system
allows companies to manage their appointments, assign technicians tasks, and track their work
progress. The project began with a comprehensive analysis of the manual home service system.
Based on this analysis, the team designed and developed a custom web-based platform that
addressed the identified issues. Overall, the FingerTip home service management system has the
potential to significantly improve the experience of both customers and service providers, while
also increasing the efficiency and profitability of home service companies. Furthermore, the
system allows clients to cancel the appointment within 24 hours and allow the service provider to
cancel the service at his preference. To achieve this goal, various research and development
activities were undertaken. These included gathering requirements and user feedback, designing
the system architecture, implementing and testing the system, and conducting user acceptance
testing. The system has tailored client-server architecture and object-oriented techniques with
UML diagrams to analyze and design the system. HTML5 was used as the core markup language
while Bootstrap and CSS were used for styling. PHP, JavaScript, and jQuery are scripting
languages and MySQL was used as the database while developing the system. Overall, the
development of a home service management system has the potential to greatly benefit both
service providers and clients by streamlining the process of booking and scheduling services and
providing useful features for managing and tracking service requests.

Key Words: Service Provider, Client, Service, Registration, Booking

i
Table of Content

Abstract .......................................................................................................................................................... i
Table of Content ........................................................................................................................................... ii
List of Tables ................................................................................................................................................ v
List of Figures .............................................................................................................................................. vi
List of Abbreviations .................................................................................................................................. vii
1 Chapter 01 – Introduction ..................................................................................................................... 1
1.1 Overview ....................................................................................................................................... 1
1.2 Background and Motivation.......................................................................................................... 1
1.3 Aim and Objectives....................................................................................................................... 2
1.3.1 Aim ....................................................................................................................................... 2
1.3.2 Objective ............................................................................................................................... 2
1.4 Summary ....................................................................................................................................... 2
2 Chapter 02 – Related Work................................................................................................................... 3
2.1 Introduction ................................................................................................................................... 3
2.2 Manual System.............................................................................................................................. 3
2.3 Similar System 01 - OnaWadak .................................................................................................... 4
2.4 Similar System 02 - QuickHelp .................................................................................................... 4
2.5 Similar System 03 - Bellboy ......................................................................................................... 5
2.6 Similar System 04 - Handy ........................................................................................................... 6
2.7 Similar System 05 - In LocalHeroes ............................................................................................. 6
2.8 Similar System 06 - ServiceToday................................................................................................ 7
2.9 Comparison Table ......................................................................................................................... 8
2.10 Summary ....................................................................................................................................... 9
3 Chapter 03 – System Analysis and Design ......................................................................................... 10
3.1 Introduction ................................................................................................................................. 10
3.2 Requirement Analysis ................................................................................................................. 10
3.2.1 Requirement Gathering Techniques .................................................................................... 10
3.3 Use Case Diagram....................................................................................................................... 12
3.3.1 Use case diagram for Manual System ................................................................................. 12
3.3.2 Use case Diagram for Service Provider Management ........................................................ 13
3.3.3 Use case Diagram for Service Category Management........................................................ 14
3.3.4 Use case Diagram for Client Management ......................................................................... 15

ii
3.3.5 Use case Diagram for Booking Management ..................................................................... 16
3.4 Class Diagram ............................................................................................................................. 17
3.5 Activity Diagram ........................................................................................................................ 18
3.5.1 Activity Diagram for Service Provider Acceptance ............................................................ 18
3.5.2 Activity Diagram for Service Provider Registration ........................................................... 19
3.5.3 Activity Diagram for Service Provider Appointment ......................................................... 20
3.6 Sequence Diagram ...................................................................................................................... 21
3.6.1 Sequence Diagram for Service Provider Acceptance ......................................................... 21
3.6.2 Sequence Diagram for Service Provider Registration ........................................................ 22
3.6.3 Sequence Diagram for Service Provider Appointment ....................................................... 23
3.7 ER Diagram ................................................................................................................................ 24
3.7.1 Relational Schema............................................................................................................... 25
3.8 Summary ..................................................................................................................................... 26
4 Chapter 04- Technologies Adapted..................................................................................................... 27
4.1 Introduction ................................................................................................................................. 27
4.2 Software Requirements ............................................................................................................... 27
4.3 Hardware Requirements.............................................................................................................. 27
4.4 Technologies ............................................................................................................................... 28
4.5 Other Requirements .................................................................................................................... 28
4.6 Summary ..................................................................................................................................... 28
5 Chapter 05-Implementation ................................................................................................................ 29
5.1 Introduction ................................................................................................................................. 29
5.2 User Interfaces ............................................................................................................................ 29
5.2.1 Font End User interfaces ..................................................................................................... 29
5.2.2 Back end user interfaces ..................................................................................................... 31
5.3 Code Segments............................................................................................................................ 33
5.3.1 Front End ............................................................................................................................ 33
5.3.2 Backend code segments ...................................................................................................... 37
5.4 Summary ..................................................................................................................................... 41
6 Chapter 06 – Testing and Evaluation .................................................................................................. 42
6.1 Introduction ................................................................................................................................. 42
6.2 Types of Software Testing .......................................................................................................... 42
6.2.1 Unit Testing ........................................................................................................................ 42
6.2.2 Black Box Testing............................................................................................................... 42
6.2.3 White Box Testing .............................................................................................................. 42

iii
6.2.4 Security Testing .................................................................................................................. 43
6.2.5 User Acceptance Testing .................................................................................................... 43
6.2.6 Integration Testing .............................................................................................................. 43
6.3 Test Cases ................................................................................................................................... 44
6.4 Summary ..................................................................................................................................... 55
7 Chapter 07 – Conclusion and Future work ......................................................................................... 56
7.1 Introduction ................................................................................................................................. 56
7.2 Conclusion .................................................................................................................................. 56
7.3 Future work ................................................................................................................................. 57
7.4 Challenges faced ......................................................................................................................... 57
7.5 Summary ..................................................................................................................................... 57
Appendix A ................................................................................................................................................. 58
Appendix B ................................................................................................................................................. 62
Appendix C ................................................................................................................................................. 66
Appendix D ................................................................................................................................................. 70
Appendix E ................................................................................................................................................. 77
8 References ........................................................................................................................................... 85

iv
List of Tables
Table 2-1: Summary Table ........................................................................................................................... 8
Table 3-1: Service Provider Management - Use Case Narratives............................................................... 13
Table 3-2: Service Category Management - Use Case Narratives .............................................................. 14
Table 3-3: Client Management - Use Case Narratives................................................................................ 15
Table 3-4: Booking Management - Use Case Narratives............................................................................ 16
Table 6-1: Test Cases for Service Provider Registration ............................................................................ 44
Table 6-2: Test Cases for Service Provider Login ...................................................................................... 48
Table 6-3: Test Cases for Service Booking ................................................................................................ 51
Table 6-4: Test Cases for Add Service Category ........................................................................................ 52
Table 6-5: Test Cases for Admin Settings .................................................................................................. 53

v
List of Figures
Figure 3-1: Use case Diagram for Manual System ..................................................................................... 12
Figure 3-2: Use case Diagram for Service Provider Management.............................................................. 13
Figure 3-3: Use Case Diagram for Service Category Management ............................................................ 14
Figure 3-4: Use Case Diagram for Client Management.............................................................................. 15
Figure 3-5: Use Case Diagram for Booking Management.......................................................................... 16
Figure 3-6: Class Diagram for Finger Tip .................................................................................................. 17
Figure 3-7: Admin Accept Service Provider Activity Diagram.................................................................. 18
Figure 3-8: Service Provider Registration Activity Diagram ..................................................................... 19
Figure 3-9: Client Book Service Activity Diagram .................................................................................... 20
Figure 3-10: Admin Accept Service Provider Sequence Diagram ............................................................. 21
Figure 3-11: Service Provider Registration Sequence Diagram ................................................................. 22
Figure 3-12: Service Provider Appointment Sequence Diagram ................................................................ 23
Figure 3-13: ER Diagram for Finger Tip .................................................................................................... 24
Figure 5-1: Client Registration User Interface ............................................................................................ 29
Figure 5-2: Service Provider Registration User Interface ........................................................................... 30
Figure 5-3: Booking Management User Interface ...................................................................................... 31
Figure 5-4: Category Management User Interface...................................................................................... 32
Figure 5-5: Service Provider Acceptance User Interface ............................................................................ 32
Figure 5-6: Report Generation User Interface ............................................................................................ 33

vi
List of Abbreviations

CSS – Cascading Style Sheets

ER – Entity Relationship

FT – Finger Tip

HTML – Hypertext Markup Language

IT – Information Technology

MySQL – Structured Query Language

PHP – Hypertext Preprocessor

UML – Unified Modeling Language

vii
1 Chapter 01 – Introduction
1.1 Overview
With constant innovations, people need the appointment of workers to solve the problems related
to our daily life tasks like plumbing, mechanical, and electrical related problems. At present
manual system carried by the organization faces major problems in handling manual booking.
Web-based Home Service Booking Management System greatly simplifies the booking process
of service providers to accomplish the needs of the clients. This document explains the system’s
limitations and solution and explains what functions are going to be in the system and describe
barriers of the system and have described details of the functional and nonfunctional requirement
of the system through this document.

1.2 Background and Motivation


The major problem with the prevailing manual system carried out by the organization is to
handle all booking details manually and it is difficult to convey to the clients the services
provided by the organization due to the current pandemic situation. And the manual process also
creates an administrative burden for the organization. The delays in making confirmations of
bookings and the response time of the service providers have caused customer dissatisfaction.

In order to improve this task our main objective is to introduce a web-based solution for the
prevailing process. Web-based Home Service Management System helps the organization to
reduce manpower and helps the client to book a service provider instantly. Here Service provider
is registered by providing relevant details through the system. Admin is able to verify the details
provided by the service provider and accept or reject the request due to security purposes. Here
client may be able to select a service provider according to his preferred location. If the client
prefers to book a relevant service provider, the client should register with the system. Service
providers may be able to accept or reject the bookings placed by the client. A client may be able
to cancel the booking before 24 hours. Here the client can rate the service provider and give his
valuable feedback through the system. The scope of our project is to design a complete
environment to provide a safe and user-friendly environment for web-based service booking.

1
1.3 Aim and Objectives
1.3.1 Aim
The aim of this project is to design and develop a web-based Home Service Management System
for Finger Tip with help of PHP and MySQL technologies. Web-based Home Service Booking
Management System is a better solution to reduce manpower and supply efficient client service.

1.3.2 Objective
 To analyze most demanding service
 To analyze most demanding service provider
 To handle service provider appointment
 To provide an IT related solution for the real world problem

1.4 Summary
In summary, the first chapter describes the introduction, background and motivation, and aims
and objectives of the web-based Home Service Management System. Several problems in the
manual system have been identified clearly and the functionalities of the proposed system are
defined under the background and motivation section.

In the next chapter, we will discover similar system domains to our system. For more references,
five domains were selected, where three systems from the local domain and three systems from
the foreign domain.

2
2 Chapter 02 – Related Work
2.1 Introduction
After identifying the problems faced by the Finger Tip organization, a web-based Home Service
Management System was a better solution to minimize the problems. Moreover, the company
can gain more advantages when moving to the web-based service booking system. There are
several web-based systems in this project. For more references, six web-based systems were
selected, three systems from the local domain and three systems from the foreign domain.
Selected local domains are Onawadak.lk, Quickhelp.lk, and Bellboy.lk. Selected foreign domains
are Handy.com, LocalHeroes.com, and ServiceToday.com. Most of the selected domains provide
similar functionalities such as service provider management, client management, and booking
management. Moreover in this project, there are a few functionalities that are included using the
domain. The purpose of this chapter is to identify the gap between similar systems and the
proposed system.

Implementing modern home service management strategies improves client feedback on the
service providers. Also, client and service providers are able to send an inquiry message to the
admin. The backend of the system is handled by the admin here admin can manage service
category and service provider acceptance or rejection management. Admin can view every
booking detail and admin can generate reports regarding last month's booking, demand services,
and demand provider. To develop the project, the following web-based systems were utilized to
handle inventory management system motivates with capabilities such as service provider
management, client management, and booking management.

2.2 Manual System


Finger Tip is a company situated on Kurunegala Road, Kandy was established in 2010. They
provide services based on client requirements. They have a good client and service provider
relationship in Kandy and its surroundings in providing the best home services. In Finger Tip
there are more than 50 service providers registered for different types of services such as
electricians, plumbers, cleaner and pest controllers, etc. Their service providers are highly skilled
and qualified in the relevant field. In the company, there are some employees handle service
bookings namely Manager, Cashier, and Security Officers.

3
2.3 Similar System 01 - OnaWadak
Onawadak.lk is a leading Sri Lankan company and the main branch is located on Nawala Road,
Kotte. The web-based system maintained by OnaWadak is developed by Hatch yard (Private)
Limited. Onawadak is an online platform that connects users who are in search of a service
provider with those who provide the services. They have used methods and methodologies to
design and develop a systematic solution to fulfill the service providers’ requirements and
clients’ requirements. Here service providers can register according to preferred services and
location. The client can view the service provider's profile and if a client needs an appointment
with a service provider, he needs to register through the client registration by providing the
necessary details. Moreover, the website also lists the contact information of this company and
customer feedback to improve the business static [1].

When comparing the research domain to the web based Home Service Management System for
Finger Tip fulfills the software development requirements where service providers can register
according to preferred services and location. Client can view service providers profile and if
client needs an appointment of a service provider, he needs to register through the client
registration by providing necessary details. If service provider is not available, he is able to
decline the request of client and moreover, client also able to cancel the booking within 24 hours.
Also, client and service provider are able to send an inquiry message to admin. Client is able to
rate a service he got from the system as feedback. Hereby it conveys Home Service Management
System for Finger Tip fills a new knowledge gap in theories and methodologies when comparing
to the research domain.

2.4 Similar System 02 - QuickHelp


QuickHelp.lk is a local company located in Colombo which is designed and developed by
WebzPlot. QuickHelp redefines how individual service providers attract, retain and interact with
clients by providing service providers with a suite of services to help themselves learn, grow and
operate more effectively and ensures that clients get a convenient, reliable, and efficient service
experience. Here clients can book a preferred service; QuickHelp will contact a service provider
in the relevant field. Clients can contact the company by phone call or visit for further inquiries
regarding the services. Moreover, this web-based system focuses on attracting clients by
providing reliable services [2].

4
Comparative to the QuickHelp domain with the web-based home service management system for
Finger Tip it fulfills the software development requirements and may help the clients to find the
preferred service provider. Choosing a preferred service provider is an essential part of this
system and this part is not covered in the QuickHelp domain. In the Home Service Management
System service providers, details are displayed and the client may able to choose the service
provider according to his ratings in previous works. Moreover, this system covers a new part
where the client is able to cancel an appointment within 24 hours of making the appointment and
the service provider is also able to availability the status according to his availability. Although
the QuickHelp domain is designed in an attractive manner, the developed web-based home
service management system for Finger Tip is more accurate in productive in providing services
to clients.

2.5 Similar System 03 - Bellboy


Bellboy.lk is the most popular domain around Colombo, Sri Lanka due to its maintenance and
efficient services. Bellboy is a marketplace for local services to fulfill the market needs in
professional services. Here they provide end-to-end service solutions for both clients and service
providers from making a service request to helping clients hire trusted professionals for all their
service requirements. Moreover, the system provides Location-based service provider
identification, a fast and easy service booking feature, real-time booking, status updates, and
guaranteed quick booking response. Furthermore, this web-based system focuses on customer
acquisition by providing the best service provider to your doorstep for your service needs [3].

When comparatively analyzing Bellboy domain and web based Home Service Management
System for Finger Tip fulfills the software development requirements where service providers
can register based on services desired and location Clients can view service providers' profiles,
and if they need an appointment with a service provider, they must register through the client
registration process by providing the necessary information. If the service provider is
unavailable, he has the option to decline the client's request, and the client has the option to
cancel the booking within 24 hours. In addition, clients and service providers can send an inquiry
message to the admin. As feedback, the client can rate the service he received from the system.
When compared to the research domain, the web base home service management system for
Finger Tip fills a new knowledge gap.

5
2.6 Similar System 04 - Handy
Handy.com is a United Kingdom-based domain that provides services around the United
Kingdom. Handy is the leading platform for connecting individuals looking for household
services with top-quality, prescreened independent service professionals. From home cleaning to
handyman services, Handy instantly matches thousands of customers every week with top-rated
professionals in cities all around the world. They used methods and methodologies to design and
develop systematic solutions to meet the needs of service providers and clients. Service providers
can register here based on their preferred services and location. Clients can view service
providers' profiles, and if they need an appointment with a service provider, they must register
through the client registration process by providing the necessary information. Furthermore, the
website provides this company's contact information as well as client comments in order to
strengthen the company's image [4].

There are some similar components in the Handy domain compared to the web-based Home
Service Management System for Finger Tip. Some of the similarities are service provider
management, client management, appointment management, and inquiry management. But in the
Handy domain system, users are not able to select the most rated service providers and they are
not able to rate a service. Moreover, this system covers a new part where the client is able to
cancel an appointment within 24 hours of making the appointment and the service provider is
also able to availability the status according to his availability. Hereby it conveys a web-based
system for Finger Tip fills a new knowledge gap in theories and methodologies when compared
to the research domain.

2.7 Similar System 05 - In LocalHeroes


Local Heroes is the trading name of British Gas Services Limited. Registered in England and
Wales. In LocalHeroes, All tradespeople on our platform are reviewed and approved, and
monitored by our in-house Operations team, which consists of a large team of ex-tradespeople
and customer service experts. This ensures that no matter where our customers are, they receive
the absolute highest levels of service from independent, trusted, and local tradespeople.
Moreover, LocalHeroes offers a convenient, reliable, and efficient service experience. Here
clients can book a preferred service; LocalHeroes will contact a service provider in the relevant

6
field. Clients can contact the company by phone call or visit for further inquiries regarding the
services [5].

Comparative to LocalHeroes domain with the web-based Home Service Management System for
Finger Tip, it fulfills the software development requirements and helps the company's employees
to track every appointment in a systematic manner and identify the most valued service done
through the system. Furthermore, this system includes a new feature that allows clients to cancel
appointments within 24 hours of making them, and service providers to update their availability
status based on their own availability. When compared to the research domain, the web-based
system for Finger Tip fills a new knowledge gap in theories and methodologies.

2.8 Similar System 06 - ServiceToday


ServiceToday is an Australian-based domain that provides services 24/7 consistently and aims to
exceed customers’ expectations. At ServiceToday, we have a dedicated team of well-trained and
trusted technicians providing top-quality plumbing, electrical, heating, and cooling services to
Sydney, Melbourne, and Adelaide. According to ServiceToday service providers are unable to
get registered by themselves because only contacting the company is a way to become a service
provider. Therefore clients are not able to view the profile of service providers or rate them
according to their service. Here client should get register to get service immediately [6].

In comparison to a web-based Home service Management system, the researched system does
not include the connection between the service provider and client, only the company is involved
in every appointment. But in Finger Tip it is totally different and there is direct communication
between the client and service provider on behalf of providing a better service. Furthermore, this
system includes a new feature in which the client can cancel an appointment within 24 hours of
making it, and the service provider can update his availability status based on his availability. As
a result, when compared to the research domain, the web-based system for Finger Tip fills a new
knowledge gap in theories and methodologies.

7
2.9 Comparison Table
Table 2-1: Summary Table

Requirements Manual Local Domain Foreign Domain Proposed


System Similar Similar Similar Similar Similar Similar System
System System System System System System
01 02 03 04 05 06
Ona Quick Bellboy Handy Local Service
Wadak Help Heroes Today
System should
Provide User Yes No Yes No Yes No No Yes
Management
System should
Provide Service
Yes Yes No Yes No No Yes Yes
Provider
management
System should
Provide Service
No Yes Yes Yes Yes No Yes Yes
Category
management
System should
Provide
Yes Yes Yes Yes Yes Yes Yes Yes
Booking
Management

System should
Provide Client No Yes No Yes No No No Yes
management

System should
Provide
No No No No Yes Yes No Yes
Notification
management

8
System should
Provide Inquiry Yes Yes Yes Yes Yes Yes Yes Yes
management
System should
Provide Client
No No No No Yes Yes No Yes
Feedback
management

2.10 Summary
When comparing the proposed web-based home service management system with selected
similar systems, all systems have similarities and differences. The main difference is most of the
selected system does not handle service providers and client details whereas the proposed system
to Finger Tip handles service provider details and client details for the purpose of better
communication. When considering the manual system does not handle category management,
client management, notification management, and feedback management. Where proposed home
service management system covers all the functionalities. Here the system introduces inquiry
management to improve the services of the company. And this project seeks to improve
appointment management and service provider management.

The above-mentioned web-based platforms were used to create the project to handle service
provider appointments. In the next chapter, we will discover the system analysis and system
design section of the web-based home service management system. For more references system
requirements, UML Diagrams and ER Diagrams are focused to be discovered.

9
3 Chapter 03 – System Analysis and Design
3.1 Introduction
The System Analysis and Design phase of the FingerTip home service management system
project involved gathering requirements, analyzing the current system, and designing a new
system to address identified needs and improve efficiency. During this phase, the needs of the
users and stakeholders are carefully analyzed and requirements are gathered. This helps to ensure
that the system is designed to meet the needs of the target audience and address any potential
challenges. Under system design, we had to collect system requirements and analyze the unique
features using several diagrams such as use case diagrams, sequence diagrams, activity diagrams,
class diagrams, and entity relationship diagram. Overall, the System Analysis and Design phase
is crucial for ensuring the FingerTip home service management system meets the needs of both
service providers and customers and functions effectively.

3.2 Requirement Analysis


3.2.1 Requirement Gathering Techniques
3.2.1.1 Similar Systems
Gathering requirements using similar systems, also known as benchmarking, is a common and
effective method for identifying the features and functionality needed in a home service
management system, such as OnaWadak, QuickHelp, LocalHeroes, etc. Reviewing the websites
and documentation of similar systems to understand their features and capabilities helps to gather
the requirements of the system. It's important to gather requirements from a variety of sources in
order to get a well-rounded understanding of the needs and expectations of both service
providers and clients.

3.2.1.2 Manual System Documentation


Gathering requirements using manual system documentation of a home service management
system involves reviewing and analyzing existing documentation related to the current system in
order to identify areas for improvement and inform the design and development of the new
system. This can be done through a variety of methods, such as Reviewing process documents,
Analyzing system documentation, Examining user guides and training materials, and Analyzing
user feedback. Overall, gathering requirements using manual system documentation can provide

10
valuable insights and direction for the design and development of a home service management
system and help ensure that the new system meets the needs and expectations of stakeholders.

3.2.1.3 Questionnaires
Gathering requirements using questionnaires of a home service management system involves
creating and distributing a survey to gather information and feedback from stakeholders about
the current system and their needs and expectations for a new system. It is important to consider
the needs and expectations of both clients and service providers. Some potential questions that
could be included in a questionnaire for this purpose might include:

For Clients:

 What types of home services do you currently use or are interested in using?
 How do you currently book and schedule home services?
 What are your most important considerations when selecting a home service provider?
 Have you had any issues or problems with the current process of booking and scheduling
home services? If so, what were they?
 How important is customer service to you when using home services?

For Service Providers:

 What types of home services do you currently offer?


 What are your most important considerations when accepting a service request from a
client?
 Have you had any issues or problems with the current process of booking and scheduling
services? If so, what were they?
 What features would you like to see in a home service management system to help
streamline your work and improve efficiency?

The specific questions included in the questionnaire will depend on the goals and target audience
of the questionnaire. It may also be helpful to allow respondents to provide additional feedback
and insights [7].

11
3.2.1.4 Interviews
Gathering requirements using interviews of a home service management system involves group
discussions with stakeholders in order to gather their input and feedback on the current system
and their needs and expectations for a new system. Interviews can be an effective method for
gathering detailed and in-depth information from stakeholders. Depending on the goals of the
FingerTip project, potential stakeholders are service providers, clients, and system
administrators. Overall, it is important to involve a group of stakeholders in the requirement-
gathering process to ensure that all perspectives and needs are considered and to ensure the
success of the home service management system.

3.3 Use Case Diagram


A use case diagram is a graphical representation of a user's possible interactions with a system
[8]. Here in home service management system use case diagrams are used to identify how the
users of the system are been interacted with the system boundaries.

3.3.1 Use case diagram for Manual System

Figure 3-1: Use case Diagram for Manual System

12
3.3.2 Use case Diagram for Service Provider Management

Figure 3-2: Use case Diagram for Service Provider Management

Author: Ahamed Rashad


Date: 2022/10/03
Version: 1.0
Table 3-1: Service Provider Management - Use Case Narratives

Use-Case Name: Service Provider Management Use-Case Type - Business


Use-Case ID: FT-01 Requirements
Priority: High Priority
Source: Online Form
Primary Business Actor: Service Provider
Other Participating Actors: Admin
Other Interested Stakeholders:
Description: 1. Service Provider Registration
2. Admin verify the Service Provider
3. Service Provider Login
4. Service Provider Edit Profile
5. Service Provider Delete Profile
6. Service Provider Logout

13
3.3.3 Use case Diagram for Service Category Management

Figure 3-3: Use Case Diagram for Service Category Management

Author: Ahamed Rashad


Date: 2022/10/03
Version: 1.0
Table 3-2: Service Category Management - Use Case Narratives

Use-Case Name: Service Category Management Use-Case Type - Business


Use-Case ID: FT-02 Requirements
Priority: High Priority
Source: Document
Primary Business Actor: Admin
Other Participating Actors: Service Provider
Other Interested Stakeholders: Client
Description: 1. Adding Service category
2. Edit Service category
3. Delete Service category
4. View Service category

14
3.3.4 Use case Diagram for Client Management

Figure 3-4: Use Case Diagram for Client Management

Author: Ahamed Rashad


Date: 2022/10/03
Version: 1.0
Table 3-3: Client Management - Use Case Narratives

Use-Case Name: Client Management Use-Case Type - Business


Use-Case ID: FT-03 Requirements
Priority: High Priority
Source: Online Form
Primary Business Actor: Client
Other Participating Actors: Admin
Other Interested Stakeholders:
Description: 1. Client Registration
2. Client Login
3. Client Edit Profile
4. Client Delete Profile
5. Client Logout

15
3.3.5 Use case Diagram for Booking Management

Figure 3-5: Use Case Diagram for Booking Management

Author: Ahamed Rashad


Date: 2022/10/03
Version: 1.0
Table 3-4: Booking Management - Use Case Narratives

Use-Case Name: Booking Management Use-Case Type - Business


Use-Case ID: FT-04 Requirements
Priority: High Priority
Source: Online Request
Primary Business Actor: Client
Other Participating Actors: Service Provider
Other Interested Stakeholders: Admin
Description: 1. Client can Book a Service
2. Service Provider can accept or reject the request
3. Client can cancel the booking before 24 hours
4. Admin, Service Provider and Client can view the booking
schedule

For rest of the use case diagrams and narratives refer Appendix A

16
3.4 Class Diagram
The class diagram is the blueprint of the system. You can use class diagrams to model the objects
that make up the system, to display the relationships between the objects, and to describe what
those objects do and the services that they provide [9]. Here in the home service management
system class diagram is used to visualize object-oriented systems.

Figure 3-6: Class Diagram for Finger Tip

17
3.5 Activity Diagram
An activity diagram visually represents a series of actions in a system. An activity diagram is
essentially a more advanced version of a flow chart that depicts the flow of information from one
activity to the next [10]. In the home service management system activity diagrams are used to
identify the activity flow of the system.

3.5.1 Activity Diagram for Service Provider Acceptance

Figure 3-7: Admin Accept Service Provider Activity Diagram

18
3.5.2 Activity Diagram for Service Provider Registration

Figure 3-8: Service Provider Registration Activity Diagram

19
3.5.3 Activity Diagram for Service Provider Appointment

Figure 3-9: Client Book Service Activity Diagram

20
3.6 Sequence Diagram
A sequence diagram is a diagram created in the Unified Modeling Language that depicts the
sequence of messages exchanged between objects in an interaction. Sequence diagrams are good
at showing collaborations between objects, but not so good at defining behavior precisely [11].
Here in the home service management system sequence diagrams are used to identify the
sequence of activities.

3.6.1 Sequence Diagram for Service Provider Acceptance

Figure 3-10: Admin Accept Service Provider Sequence Diagram

21
3.6.2 Sequence Diagram for Service Provider Registration

Figure 3-11: Service Provider Registration Sequence Diagram

22
3.6.3 Sequence Diagram for Service Provider Appointment

Figure 3-12: Service Provider Appointment Sequence Diagram

23
3.7 ER Diagram
An entity relationship diagram, also known as an entity-relationship model, is a graphical
representation of the relationships that exist between people and objects in a system. An ER
diagram can depict the logical structure of databases by defining the entities, their attributes, and
the relationships between them [12].

Figure 3-13: ER Diagram for Finger Tip

ER Diagram Assumptions

 Admin can verify the service provider


 Service acts like a booking management
 Client can book the services service provider can confirm (accept or reject) the request
 Service providers register with selecting according to their location
 Service Provider has a composite attribute as Full Name
 Client has a composite attribute as Full Name

24
3.7.1 Relational Schema
Admin Table

Admin
admin_id u_name email password contact address

Location Table
Location
location_id district

Service Category Table


Service Category
ct_id ct_name

Service Sub Category Table


Service Sub Cat
sub_ct_id service_name ct_id

Service Provider Table


Service Provider
sp_id first_name last_name email password contact address nic
certificate status location_id ct_id

Client Table
Client
client_id first_name last_name email password contact address

Service Table
Service
Service_id date client_id sp_id ct_id sub_ct_id status rating

25
Inquiry Table
Inquiry
inq_id name email subject message

For database design refer Appendix B

3.8 Summary
In summary of the above chapter different types of UML diagrams are discussed such as use case
diagrams, class diagrams, activity diagrams, and sequence diagrams. Here use case diagrams are
designed for major requirements of the system and use case narratives are designed for every use
case diagram. Activity and sequence diagrams are designed for three major activities in the
system. Moreover, entity relationship diagrams and relational schema are designed for the web-
based home service management system.

In next chapter adopted technologies are discussed. Moreover software requirements, hardware
requirements and technologies used are discussed.

26
4 Chapter 04- Technologies Adapted
4.1 Introduction
In the development of the FingerTip home service management system, a variety of technologies
were adopted in order to provide a user-friendly and efficient system for both service providers
and clients. The software requirements, hardware requirements, and technologies used in the
FingerTip home service management system may vary depending on the specific goals and
needs of the system.

4.2 Software Requirements


 Windows Operating System with Windows 10 version is needed as the minimum
requirement in order to run the system.
 XAMPP Control panel (3.3.0 version) is needed as the minimum requirement in order to
run the website connecting with local host. This platform allows MySQL and Apache
platforms to run in local host.
 MySQL (8.1.6 version) is needed as minimum requirement in order to handle the data in
the database.
 Microsoft Visual Studio Code (1.63.2 version) is used as the IDE to edit codes related to
the system.
 Web Browser is needed as a minimum requirement in order to run the system in a
browser such as Internet Explorer, Google Chrome, Mozilla Firefox are used.

4.3 Hardware Requirements


 Processor: Since the application must run on a web browser a desktop computer or a
laptop with i3 processor capacity is recommended to run the website.
 Memory: The system may require a minimum amount of 4GB (RAM) to run smoothly.
 Storage: The system may require a 500GB of storage space to store data and support
system functions.
 Display: 64-bit operating system with 1024 x 768 display resolution is used to run the
system smoothly.
 Moreover, optical mouse and QWERTY keyboard are used as input devices to make
users familiar with the system.

27
4.4 Technologies
 Programming languages: The FingerTip system is been built using a variety of
programming languages, such as HTML, CSS, JavaScript, and PHP.
 Frameworks: Bootstrap is used to provide additional functionality and support.
 Databases: he FingerTip system is been built using MySQL to store and manage data.

4.5 Other Requirements


 N/A

4.6 Summary
The adoption of these technologies helped to create an efficient, effective, and user-friendly
home service management system that met the needs of both service providers and clients.
Overall, the specific software requirements, hardware requirements, and technologies used in the
FingerTip home service management system will depend on the specific design and architecture
of the system.

In next phase implementation of FingerTip home service management system is discussed.


Moreover interfaces and coding segment are included.

28
5 Chapter 05-Implementation
5.1 Introduction
In previous chapter specific software requirements, hardware requirements, and technologies
used in the FingerTip home service management system are discussed. The Implementation
phase of the FingerTip home service management system project involved building and testing
the system to ensure it met the requirements and expectations of stakeholders. This phase
included the development of system interfaces and the implementation of key coding to ensure
the system was functional and user-friendly. The FingerTip system included a variety of
interfaces to facilitate the booking and scheduling of services, as well as provide additional
features and functionality.

5.2 User Interfaces


5.2.1 Font End User interfaces
The front-end user interface of FingerTip home service management is the part of the system that
users interact with directly. It includes client registration, service provider registration, booking
management etc.

5.2.1.1 Client Registration


The client registration user interface allows users to create an account and register as a client.
This process typically involves the user providing personal and contact information.

Figure 5-1: Client Registration User Interface

29
5.2.1.2 Service Provider Registration
The service provider registration user interface is a specific part of a home service management
system. This process typically involves the service provider providing personal and contact
information, as well as information about the services they offer and their qualifications.

Figure 5-2: Service Provider Registration User Interface

30
5.2.1.3 Booking Management
The booking management user interface is a specific part of a home service management system.
That allows users to browse, book, and manage services offered by service providers. This
typically includes the ability to search for services, view service providers and their availability,
and schedule appointments.

Figure 5-3: Booking Management User Interface

5.2.2 Back end user interfaces


The back-end user interface of a home service management system is the part of the system that
is used by administrators and other internal users to manage and maintain the system. It typically
includes tools and functionality for tasks such as category management, service provider
acceptance, report management, etc.

5.2.2.1 Category Management


The category management user interface is a specific part of a home service management
system. That allows administrators to manage categories within the system. This may include the
ability to create, and edit categories.

31
Figure 5-4: Category Management User Interface

5.2.2.2 Service Provider Acceptance


The service provider acceptance user interface is a specific part of a home service management
system. That allows administrator to review and accept or decline requests for service provider
registration.

Figure 5-5: Service Provider Acceptance User Interface

32
5.2.2.3 Report Generation
The report generation user interface is a specific part of a home service management system.
That allows administrators to generate reports and analyze data within the system.

Figure 5-6: Report Generation User Interface

For more user interfaces refer Appendix C

5.3 Code Segments


Code segments are an important part of a home service management system, as they provide the
logic and functionality needed to support the system's features and capabilities. Here important
code segments for front end and back end are included.

5.3.1 Front End


5.3.1.1 Client Registration
<?php
include'includes/dbconnection.php';
if(isset($_POST['submit']))
{
$fname=$_POST['f_name'];
$lname=$_POST['l_name'];
$email=$_POST['email'];
$password=$_POST['password'];
$contact=$_POST['contact'];
$address=$_POST['address'];
$query=mysqli_query($conn,"INSERT INTO
client(f_name,l_name,email,password,contact,address) values
('$fname','$lname','$email','$password','$contact','$address')");
if($query)
{
echo"succesfull";

33
}
header("location: index.php");
}
?>

5.3.1.2 Service Provider Registration


<?php
include'includes/dbconnection.php';
if(isset($_POST['submit']))
{
$category=$_POST['category'];
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$email=$_POST['email'];
$contact=$_POST['contact'];
$address=$_POST['address'];
$location=$_POST['location'];
$pimage=$_FILES["pimg"]["name"];
$nicimage=$_FILES["nicimg"]["name"];
$cimage=$_FILES["cimg"]["name"];
$image1=$_FILES["pimg"]["tmp_name"];
$image2=$_FILES["nicimg"]["tmp_name"];
$image3=$_FILES["cimg"]["tmp_name"];
$password=($_POST['password']);

$path1="service_providerimages/$pimage";
// directory creation for product images
move_uploaded_file($image1,$path1);

$path2="service_providerimages/$nicimage";
// directory creation for product images
move_uploaded_file($image2,$path2);

$path3="service_providerimages/$cimage";
// directory creation for product images
move_uploaded_file($image3,$path3);

$query=mysqli_query($conn,"INSERT INTO
service_provider(ct_id,f_name,l_name,email,contact,address,location_id,profile_im
age,nic,certificate,password) values
('$category','$fname','$lname','$email','$contact','$address','$location','$pimag
e','$nicimage','$cimage','$password')");

34
if($query)
{
echo"succesfull";
}
header("location: index.php");
}
?>

5.3.1.3 Booking Management


<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (isset($_POST['submit'])) {
if (strlen($_SESSION['login']) == 0) {
header('location:login.php');
} else {
$sid = $_GET['sid'];
$cid = $_POST['ct_name'];
$subcat = $_POST['sub_cat_id'];
$service_date = $_POST['s_date'];
$service_time = $_POST['ser_time'];
$remark = $_POST['remark'];

$query = mysqli_query($conn, "insert into


booking(client_id,sp_id,ct_id,sub_ct_id,date,time,remark) values('" .
$_SESSION['id'] .
"','$sid','$cid','$subcat','$service_date','$service_time','$remark')");

if ($query) {
echo "<script>alert'Your Service Booking request store
successfully'</script>";
}
}
}
?>

<!DOCTYPE html>
<html>
<body>
</div>
<div class="col-md-6">
<form method="post">

35
<h3>Please Select Your Shedule to Book your service.</h3>
<div class="form-group">
<label>Date:</label>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control pull-right"
id="datepicker" name="s_date" required="">
</div>
</div>
<div class="bootstrap-timepicker">
<div class="form-group">
<label>Time picker:</label>
<div class="input-group">
<input type="text" class="form-control timepicker"
name="ser_time" required="">
<div class="input-group-addon">
<i class="fa fa-clock-o"></i>
</div>
</div>
</div>
</div>
<div class="form-group">
<label>Any Special Remark</label>
<textarea class="form-control" name="remark"></textarea>
</div>
<?php
$sid = $_GET['sid'];
$query = mysqli_query($conn, "select
service_provider.*,service_category.ct_name,location.district,
service_sub_category.id as sub_cat_id
from service_provider
join service_category on service_category.id=service_provider.ct_id
join location on location.location_id=service_provider.location_id
join service_sub_category on service_sub_category.ct_id =
service_category.id
where service_provider.sp_id='$sid'
LIMIT 1");

while ($row = mysqli_fetch_array($query)) {


?>
<div class="form-group">
<label>Select Your Service Sub Category</label>
<select name="sub_cat_id" class="form-control" required>

36
<option value="">Select your Sub Category</option>
<?php
$cid = $row['ct_id'];
$query1 = mysqli_query($conn, "select * from
service_sub_category where ct_id='$cid'");
while ($row1 = mysqli_fetch_array($query1)) { ?>
<option value="<?php echo $row1['id']; ?>"><?php echo
$row1['service_name']; ?></option>
<?php } ?>
</select>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="ct_name"
value="<?php echo $row['ct_id']; ?>" <?php echo $row['ct_name']; ?>
</div>
<?php } ?>
<input type="submit" name="submit" class="btn btn-danger submit mb-4"
value="Book">
<input name="Submit2" type="submit" class="btn btn-defult"
value="Close this Window " onClick="return f2();" style="cursor: pointer;"
/></td>
</form>
</html>

5.3.2 Backend code segments


5.3.2.1 Add Category
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['admin_login']) == 0) {
header('location:logout.php');
} else {
if (isset($_POST['submit'])) {
$cname = $_POST['ct_name'];
$query = mysqli_query($conn, "INSERT INTO service_category(ct_name)
values ('$cname')");
if ($query) {
echo "Service Category Added succesfull";
}
header("location:dashboard.php");
}
?>

37
5.3.2.2 Service Provider Management
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['admin_login']) == 0) {
header('location:logout.php');
} else {
$pid = intval($_GET['pid']); // product id
if (isset($_POST['submit'])) {
$status = $_POST['status'];
$sql = mysqli_query($conn, "update service_provider set status='$status'
where sp_id='$pid' ");
$_SESSION['msg'] = "Profile Status Updated Successfully !!";
header("location:manage_provider.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<body class="hold-transition sidebar-mini">
<div class="wrapper">
<?php include_once('includes/header.php'); ?>
<?php include_once('includes/sidebar.php'); ?>
<div class="content-wrapper">
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1>Edit Service Provider</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a
href="dashboard.php">Home</a></li>
<li class="breadcrumb-item active">Edit
Profile</li>
</ol>
</div>
</div>
</div>
</section>
<h3 class="card-title">Edit Service Provider</h3>
</div>
<!-- /.card-header -->

38
<!-- form start -->
<form role="form" method="post">
<div class="card-body">
<?php
$query = mysqli_query($conn, "select * from service_provider
where sp_id='$pid'");

while ($row = mysqli_fetch_array($query)) {


?>
<div class="form-group">
<label> Service Provider Name</label>
<input type="text" class="form-control" value="<?php echo
$row['f_name'] . ' ' . $row['l_name']; ?>" disabled>
</div>
<div class="form-group">
<label> Profile Status</label>
<select name="status" class="form-control" required>
<option value="<?php echo ($row['status']); ?>"
disabled><?php if ($row['status'] == 1) { ?>
<span>Profile is Approved.</span>
<?php
if ($row['status'] == 0) { ?>
<span>Profile is under Confirmation.</span>
<?php } ?>
</option>
<option value="0">Profile is under Confirmation.</option>
<option value="1">Profile is Approved.</option>
</select>
</div>
</div>
<?php } ?>
<div class="card-footer">
<button type="submit" class="btn btn-primary"
name="submit">Edit Profile</button>
</div>

</form>
</html>

39
5.3.2.3 Report Generation
<?php include_once('includes/header.php'); ?>
<?php include_once('includes/sidebar.php'); ?>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>Most Demand Service Providers</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="dashboard.php">Home</a></li>
<li class="breadcrumb-item active">Most Demand Service Providers</li>
</ol>
</section>
<h3 class="card-title">Top 3 Service Providers</h3>
</div>
<!-- /.card-header -->
<div class="card-body">
<div class="table-responsive">
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Top 3</th>
<th>Provider Name</th>
<th>Address</th>
<th>Sevice Name</th>
<th>Number of Bookings</th>
</tr>
</thead>
<?php
$query = mysqli_query($conn, "select booking.*,
COUNT(*),service_provider.f_name as providername,service_provider.l_name as
providerlname, service_provider.address as provideraddress,
service_category.ct_name as providercat from booking inner join service_provider
on booking.sp_id=service_provider.sp_id inner join service_category on
booking.ct_id=service_category.id GROUP BY providername ORDER BY COUNT(*) DESC
Limit 3;
");
$cnt = 1;
while ($row = mysqli_fetch_array($query)) {
?>
<tr>
<td><?php echo $cnt; ?></td>

40
<td><?php echo $row['providername'] . ' ' .
$row['providerlname']; ?></td>
<td><?php echo $row['provideraddress']; ?></td>
<td><?php echo $row['providercat']; ?></td>
<td><?php echo $row['COUNT(*)']; ?></td>
</tr>
<?php $cnt = $cnt + 1; } ?>
</table>
<!-- /.content-wrapper -->
<?php include_once('includes/footer.php'); ?>

For more code segments refer Appendix D

5.4 Summary
According to the above chapter user interfaces include the front-end interface, which is the part
of the system that users interact with directly, as well as the back-end interface, which is used by
administrators to manage and maintain the system. Codes segments describe in the chapter are
blocks of code that perform main functions in the system.

In next chapter testing is the process of verifying that the system functions as intended, while
evaluation is the process of assessing the system's performance and usability.

41
6 Chapter 06 – Testing and Evaluation
6.1 Introduction
In this chapter, we describe the testing and evaluation process that was conducted on the
FingerTip home service management system to ensure the quality and the reliability of the
system. Here various types of testing and evaluation techniques used to verify that the system
functions met all requirements, while evaluation is the process of assessing the system's
performance and usability. Both testing and evaluation are crucial for ensuring that the system is
reliable, effective, and user-friendly. These techniques included unit testing, integration testing,
black box testing, white box testing, security testing, and user acceptance testing.

6.2 Types of Software Testing


6.2.1 Unit Testing
Unit testing is an important part of the development process, as it helps to ensure that individual
units are working correctly and can be integrated into the rest of the system [13]. In the
FingerTip home service management system, unit testing is used to test components such as
client and service provider registration, booking management, cancellation management, and
service provider acceptance management.

6.2.2 Black Box Testing


Black box testing is typically used to test the system's functionality and behavior perspective of
an external user. It is an effective technique for verifying the system fulfills all requirements
[14]. In the FingerTip home service management system, black box testing is used to test
scenarios such as booking a service, cancelling service within 24 hours, client and service
provider registration etc.

6.2.3 White Box Testing


White box testing is typically used to test the system's internal logic and functionality, and can
include coverage analysis and boundary value testing. It is an effective technique for verifying
that the system is working correctly and meeting all requirements from the perspective of the
developer [15]. In FingerTip home service management system, white box testing is used to test
the behavior of functional PHP code segment to ensure the system is functioning correctly and
providing the desired functionality and behavior.

42
6.2.4 Security Testing
Security testing is a technique used to test the security of a system to ensure that it is protected
against potential threats and vulnerabilities. It is an important aspect of the development and
maintenance of any system [16]. In FingerTip home service management system security testing
is handled using validation for user logins and by securing confidential details provided by
clients and service providers.

6.2.5 User Acceptance Testing


User acceptance testing allows the system to be tested with actual users and helps to ensure that
it is user-friendly and meets all requirements [17]. In the FingerTip home service management
system user acceptance testing is handling by providing clients and service provider to register
and make booking through the system. This helps to get feedback from the users and make
suggestions for improvements.

6.2.6 Integration Testing


Integration testing is an important part of the development process, as it helps to ensure that
different components of the system are working together correctly and can be integrated into the
final version of the system. It is also an opportunity to identify and resolve any issues that may
arise when different components [18]. In FingerTip home service management system,
integration testing is used to interact between service booking and cancellation management to
disable the cancellation functionality after 24 hours of making booking.

43
6.3 Test Cases
Table 6-1: Test Cases for Service Provider Registration

Project
Name : Finger Tip
Module
Name : Service Provider Registration
Project Details Created By: Ishkhan Ahamed
Reviewed
By : Ushami Lokuge
Created
Date: 26-Dec-22 Reviewed Date: 27-Dec-22

Test Case ID Test Description Prerequisit Test Steps Input Data Expected Actual Statu Severit Priorit Execut
/Test case name e Result Result s y y ed by

1. Browse
the web site
Finger Tips First name : Rashad
2. Go to the
Service
provider
Login page Last name : Ahamed
3. Click
don’t have Email ID :
an account rashad@gmail.com
TC_ServiceProvid 4. Enter Contact No : 0777 583 Registered As Miss.
Enter valid data as
erRegistration_00 valid data 759 Successful expect pass Ushami
required form
1 5.Click on ly ed Tester
Register
button Address : Kandy
Service Category :
Electrician
Location : Kurunegala
Profile Image :
rashad.jpg
NIC : nic.jpg
Certificate :

44
cetificate.jpg
Password : 123
Confirm Password :
123
1. Browse
the web site
Finger Tips First name : Rashad
2. Go to the
Service
provider
Login page Last name : Ahamed
3. Click
don’t have Email ID :
an account rashad@gmail.com
4. Enter Alert
Invalid message
confirm Contact No : 0777 583 as "
TC_ServiceProvid password 759 Password As Miss.
Enter Invalid
erRegistration_00 5.Click on and expect pass Ushami
confirm password
2 Register Confirm ed Tester
button Address : Kandy Password
Service Category : Field do
Electrician not match"
Location : Kurunegala
Profile Image :
rashad.jpg
NIC : nic.jpg
Certificate :
cetificate.jpg
Password : 123
Confirm Password :
1234
1. Browse
Alert
the web site
TC_ServiceProvid message As Miss.
Enter Invalid Finger Tips First name : Rashad
erRegistration_00 as "Invalid expect pass Ushami
Email 2. Go to the
3 email ed Tester
Service
address"
provider Last name : Ahamed

45
Login page

3. Click
don’t have
an account Email ID : rashad
4. Enter
Invalid Contact No : 0777 583
Email 759
5.Click on
Register
button Address : Kandy
Service Category :
Electrician
Location : Kurunegala
Profile Image :
rashad.jpg
NIC : nic.jpg
Certificate :
cetificate.jpg
Password : 123
Confirm Password :
123
1. Browse
the web site
Finger Tips First name : Rashad
2. Go to the
Service
provider
Login page Last name : Ahamed Alert
TC_ServiceProvid 3. Click message As Miss.
Enter Invalid
erRegistration_00 don’t have Email ID : as "Invalid expect pass Ushami
Contact Number
3 an account rashad@gmail.com Contact ed Tester
4. Enter Number"
Invalid
Contact
Number Contact No : 0777 583
5.Click on
Register
button Address : Kandy

46
Service Category :
Electrician
Location : Kurunegala
Profile Image :
rashad.jpg
NIC : nic.jpg
Certificate :
cetificate.jpg
Password : 123
Confirm Password :
123
1. Browse
the web site Keep it as Empty
Finger Tips
2. Go to the
Service
provider Alert
TC_ServiceProvid Login page message As Miss.
erRegistration_00 Keep it as Empty 3. Click as " Please expect pass Ushami
4 don’t have fill out this ed Tester
an account field"
4.Keep it as
Empty
5.Click on
Register
button

47
Table 6-2: Test Cases for Service Provider Login

Project
Name : Finger Tip
Module
Name : Service Provider Login
Created By
Project Details
: Ishkhan Ahamed
Reviewed
By : Ushami Lokuge
Created
Date: 26-Dec-22 Reviewed Date: 27-Dec-22

Test Description Prerequisite Test Steps Input Data Expected Result Actual Status Severity Priority Executed by
/Test case name Result
Test Case ID

1. Browse the web


site Finger Tips
Client 2. select become user name
Enter Valid service-provider Direct to
TC_ServicePro should be a :imasha@g As Miss.
Username and page Service
vider registered mail.com expect pass Ushami
Valid 3. Enter valid user Provider
Login_001 Service password:12 ed Tester
Password name and booking Page
Provider 34
password
4. click on Login
button
1. Browse the web
site Finger Tips
Client 2. select become user name Alert
Enter valid service-provider
TC_ServicePro should be a :imasha@g message as " As Miss.
username and page
vider registered mail.com Invalid user expect pass Ushami
Invalid 3. enter valid user
Login_002 Service password:12 name or ed Tester
password name and invalid
Provider 35 password"
password
4. click on Login
button

48
1. Browse the web
site Finger Tips
Client 2. click on the user name Alert
Enter Invalid
TC_ServicePro should be a login button :isran@gmai message as " As Miss.
username and
vider registered 3. Enter Invalid l.com Invalid user expect pass Ushami
Invalid
Login_003 Service user name and password:12 name or ed Tester
password
Provider invalid password 5 password"
4. click on Login
button

1. Browse the web


site Finger Tips
Client 2. select become user name Alert
Enter Invalid service-provider
TC_ServicePro should be a :isran@gmai message as " As Miss.
username and page
vider registered l.com Invalid user expect pass Ushami
Valid 3. enter Invalid
Login_004 Service password:12 name or ed Tester
password user name and
Provider 34 password"
valid password
4. click on Login
button
1. Browse the web
site Finger Tips
Client 2. click on the
Enter Empty
TC_ServicePro should be a login button Alter as As Miss.
username and user name :
vider registered 3. Enter empty "Please fill expect pass Ushami
Empty password:
Login_005 Service user name and out this field" ed Tester
password
Provider empty password
4. click on Login
button

1. Browse the web


site Finger Tips
Client 2. select become
Enter Empty Alert
TC_ServicePro should be a service-provider user name : As Miss.
username and message as "
vider registered page password:12 expect pass Ushami
Valid Please fill out
Login_006 Service 3. Enter empty 34 ed Tester
password this field"
Provider user name and
valid password
4. Click on submit

49
button
1. Browse the web
site Finger Tips
Client 2. select become
Enter Empty service-provider Alert
TC_ServicePro should be a user name : As Miss.
username and page message as "
vider registered password:12 expect pass Ushami
Invalid 3. Enter empty Please fill out
Login_007 Service 4 ed Tester
password user name and this field"
Provider
Invalid password
4. Click on submit
button

1. Browse the web


site Finger Tips
Client 2. select become
Enter Valid user name : Alert
TC_ServicePro should be a service-provider As Miss.
username and imasha@gm message as "
vider registered page expect pass Ushami
Empty ail.com Please fill out
Login_008 Service 3. Enter Valid ed Tester
password password: this field"
Provider user name and
empty password
4. click on Login
button
1. Browse the web
site Finger Tips
Client 2. select become
Invalid service-provider user name : Alert
TC_ServicePro should be a As Miss.
username and page ishaead@gm message as "
vider registered expect pass Ushami
Empty 3. Enter Invalid ail.com Please fill out
Login_009 Service ed Tester
password user name and password: this field"
Provider
Empty password
4. click on Login
button

50
Table 6-3: Test Cases for Service Booking

Project
Name : Finger Tip
Module
Name : Booking
Project Details Created By : Ishkhan Ahamed
Reviewed By
: Ushami Lokuge
Created
Date: 26-Dec-22 Reviewed Date: 27-Dec-22

Test Case Test Prerequisite Test Steps Input Expecte Actual Status Severity Priority Executed
ID Descripti Data d Result Result by
on /Test
case
name
1. Browse the web site Finger Date :
Tips 12/30/202
2. Go to the Service Provider's 2
page Time :
3. Click the Book Now button 9.45 PM
Login to the Your Miss.
TC_Bookin Input 4. Click the "Book Service" Remark : As
system as Service pass Ushami
g_001 Valid data button Be on expected
client. Booked Tester
sharp time
5. Select date and time Sub
6. Input Remark Category :
7. Select Sub Category Pipe
8. Click Book button Fitting
1. Browse the web site Finger
Tips
2. Go to the Service Provider's
Login to the page Please Miss.
TC_Bookin Keep It as As
system as 3. Click the Book Now button Empty fill out pass Ushami
g_002 empty expected
client. 4. Click the "Book Service" this field Tester
button
5. Keep it as empty
8. Click Book button

51
Table 6-4: Test Cases for Add Service Category

Project
Name : Finger Tip
Module
Name : Add Category
Creted By
Project Details
: Ishkhan Ahamed
Reviewed
By : Ushami Lokuge
Created Reviewed
Date: 26-Dec-22 Date: 27-Dec-22

Test Case ID Test Prerequisite Test Steps Input Expected Actual Status Severity Priority Executed by
Description Data Result Result
/Test case
name

1. Browse the web site Finger Tips


2.Go to admin page
2. login by giving user name and Category
Login to As Miss.
TC_Catego Input Valid password Electri added
the system expect pass Ushami
ry_001 data cian successful
as admin 3. Select Service category ed Tester
ly
4.Select add category
5.Input valid data
6.Click add services button

1. Browse the web site Finger Tips


2.Go to admin page
Login to 2. login by giving user name and Please fill As Miss.
TC_Catego Keep It as
the system password Empty out this expect pass Ushami
ry_002 empty
as admin field ed Tester
3. Select Service category
4.Input Invalid data
5.Input valid data
6.Click add services button

52
Table 6-5: Test Cases for Admin Settings

Project Name : Finger Tip


Module Name
: Change Admin Password
Project Details
Created By : Ishkhan Ahamed
Reviewed By : Ushami Lokuge
Reviewed
Created Date: 26-Dec-22 Date: 27-Dec-22

Test Case ID Test Description Prerequisite Test Steps Input Data Expected Actual Statu Sever Prior Executed
/Test case name Result Result s ity ity by

1. Browse the web


site Finger Tips
current Password:
2. Go to the admin
admin123 Password
Must had admin page As Miss.
TC_ChangeAdmin Enter valid new Password: changed
user name and 3. Select change expecte pass Ushami
Password_001 data admin successful
password password d Tester
confirm ly
3.Enter valid data password: admin
4. click on change
button
1. Browse the web
site Finger Tips
2. Go to the admin current Password: Alert
page admin22 message
Enter Invalid Must had admin As Miss.
TC_ChangeAdmin 3. Select change new Password: as "Old
data in current user name and expecte pass Ushami
Password_002 password admin password
password password d Tester
confirm not
3.Enter Invalid data
password: admin match"
in current password
4. click on change
button

53
1. Browse the web
site Finger Tips
2. Go to the admin current Password: Alert
Must had admin page admin message As Miss.
TC_ChangeAdmin Keep some
user name and 3. Select change new Password: as " Please expecte pass Ushami
Password_003 fields as empty
password password confirm fill out d Tester
3.Keep some fields password: this field"
as empty
4. click on change
button
1. Browse the web Alert
site Finger Tips message
current Password:
2. Go to the admin as " New
admin123
page Password
Enter invalid Must had admin new Password: As Miss.
TC_ChangeAdmin 3. Select change and
confirm user name and admin expecte pass Ushami
Password_004 password Confirm
password password confirm d Tester
3.Enter invalid Password
password:admin1
confirm password field does
11
4. click on change not match
button "

Rest of the test cases refer Appendix E

54
6.4 Summary
Overall, testing and evaluation are crucial for ensuring the quality and reliability of the FingerTip
home service management system, and are an integral part of the development and maintenance
process. By conducting various testing and evaluation techniques it helps to verify if the system
functioning correctly and meeting all requirements.

In the next chapter conclusion and future work of FingerTip home service management system is
discussed to make necessary future development of the system.

55
7 Chapter 07 – Conclusion and Future work
7.1 Introduction
The aim of this project is to design and develop a web-based Home Service Management System
for FingerTip to give a better solution to reduce manpower and supply efficient client service.

The FingerTip home service management is a comprehensive platform that processes booking
and managing services, and to provide a reliable service experience for both client and service
providers. In this chapter we conclude a summary of the key findings and outcomes of the
project, and outline any future work that may be necessary to further improve and enhance the
system.

7.2 Conclusion
In conclusion to FingerTip Home Service Booking Management System will provide an easy
way to automate all functionalities for booking a service provider to a relevant service according
to their location. Service provider is registered by providing relevant details through the system.
Admin is able to verify the details provided by service provider and accept or reject the request
due to the security purpose. Here client may be able to select a service provider according to his
preferred location. If client prefers to book a relevant service provider, client should register to
the system. Service providers may be able to accept or reject the bookings placed by the client.
Client may be able to cancel the booking before 24 hours. Here client can rate the service
provider and give his valuable feedback through the system. The scope of our project is to design
a complete environment to provide a safe and user-friendly environment for web-based service
booking. Over the course of this project, we have developed and tested the system, and have
gathered valuable feedback from users. The system includes features such as browsing and
booking services, real-time service tracking, service provider and client management, and
providing feedback on service quality. On the provider side, the system allows businesses to
manage appointments, assign tasks to technicians, and track their work progress. Overall, the
FingerTip home service management system has the potential to significantly improve both
customer and service provider experiences, while also increasing home service companies'
efficiency and profitability.

56
7.3 Future work
 Handling Payments through the system: Currently, the FingerTip system does not handle
payments through the system. In future we will continue to improve the system with
payment process.
 Expanding the system to new services: Currently, the system handles only limits amount
of services related to home service. In future we plan to expand the system to support a
wider range of services.
 Handle time slots for booking: Currently the system does not handle service booking
slots to identify the availability of the service provider. In future we plan to improve the
system with adding slots.
 Confirm Booking with emails: Currently system handles booking confirmation by
notification management. With the expansion of the system we plan to confirm bookings
using emails.

7.4 Challenges faced


 As this is the first large scale project we are developing using PHP, we had to go through
many documentations to handle errors.
 Collaborating with group members through Github was a new experience while
developing the project.
 Designing diagrams using star UML was a new challenge.
 Implementing the business requirement to technical requirement was a challenge to
identify the functionalities of the system.

7.5 Summary
In summary, web based Home Service Booking Management System, greatly simplifies the
booking process of a service provider to accomplish the needs of clients. At present manual
system is carried on by the organization. Web based Home Service Management System consists
of frontend, backend, and a database. Where frontend is used by stakeholders and backend is
handled by administrator. This system allows clients to make bookings over service provider
according to their needs. And service provider can give response to the request of client.

57
Appendix A
This Appendix is mainly related to chapter 03 Use case diagrams and their narratives (for more
information refer chapter 03)
Use case diagram for Notification Management

Author: Ahamed Rashad

Date: 2022/10/03

Version: 1.0

Use-Case Name: Notification Management Use-Case Type - Business


Use-Case ID: FT-05 Requirements
Priority: Medium Priority
Source: Status
Primary Business Actor: Service Provider, Client
Other Participating Actors: Admin
Other Interested Stakeholders:
Description: 1. Send booking status to Client with Service confirmation
details
2. Send booking status to Service Provider with Client
details

58
Use case diagram for Inquiry Management

Author: Ahamed Rashad

Date: 2022/10/03

Version: 1.0

Use-Case Name: Inquiry Management Use-Case Type - Business


Use-Case ID: FT-06 Requirements
Priority: Medium Priority
Source: Online Form
Primary Business Actor: Service Provider, Client
Other Participating Actors: Admin
Other Interested Stakeholders:
Description: 1. Service Provider and Client can inquire any complains
to Admin
2. Admin can view inquiry
3. Admin can reply the inquiry manually

59
Use case diagram for Report

Author: Ahamed Rashad

Date: 2022/10/03

Version: 1.0

Use-Case Name: Report Management Use-Case Type - Business


Use-Case ID: FT-07 Requirements
Priority: Medium Priority
Source: Document
Primary Business Actor: Admin
Other Participating Actors:
Other Interested Stakeholders:
Description: 1. Admin can generate Last month booking details
2. Admin can generate demand services
3. Admin can generate demand service provider

60
Use case Diagram for overall system

61
Appendix B
This appendix is mainly related to database design (for more information please refer Chapter
03)
Admin Table

Service Booking Table

62
Client Table

Inquiry Table

63
Location Table

Service Category Table

64
Service Sub Category Table

Service Provider Table

65
Appendix C
This appendix mainly related chapter 5– Implementation under User Interfaces
Frontend User Interface
Home Page
This is the home page of the website,, where service providers and client can register and login
to the system.

Add Rating and Review


This user interface is used to add rating and review for the service done by service provider.

66
Service List
Below interface displays pending booking list for service provider.

Service Inquiry
This part of user interface is used to add inquiries.

67
Backend User Interface
Admin Dashboard
Below interface is viewed after admin get logged into the system. In the dashboard it displays the
total number of service category and number of registered service provider

Manage Booking

This part of user interface is used for admin to view booking details.

68
Admin Setting

This part of user interface is used to edit admin details.

Add Service Category

This part of user interface is used to add service category.

69
Appendix D
This appendix mainly related chapter 5 – Implementation under Code Segments
Frontend Code Segments

Client Booking Management

This part of code segment is used for client to view the booking history and here it is able to
cancel the booking before 24 hours from registering.

<?php $query = mysqli_query($conn, "select booking.*,service_provider.f_name as


providername,service_provider.l_name as providerlname,service_provider.email as
provideremail,service_provider.contact as
providercontact,service_provider.address as
provideraddress,service_category.ct_name as
providercat,service_sub_category.service_name as
providersubcat,service_provider.profile_image as providerimg from booking inner
join service_provider on booking.sp_id=service_provider.sp_id inner join
service_category on booking.ct_id=service_category.id inner join
service_sub_category on booking.sub_ct_id=service_sub_category.id where
client_id='" . $_SESSION['id'] . "'");
while ($row = mysqli_fetch_array($query)) {
$button_disable = '';
$status = $row['book_status'];
$today = date('Y-m-d H:i:s', time());
$orderDate = date('Y-m-d H:i:s', strtotime($row['order_date'] . '+24
hours'));
if ($today >= $orderDate) {
$button_disable = 'disabled';
}
?>
<div class="emply-resume-list row mb-3">
<div class="col-md-9 emply-info">
<div class="emply-img">
<img src="service_providerimages/<?php echo $row['providerimg']
?>" alt="" class="img-fluid">
</div>
<div class="emply-resume-info">
<h4><a href="#"><?php echo $row['providername'] . ' ' .
$row['providerlname'] ?></a></h4>

70
<h5 class="mt-2"><span><?php echo $row['providercat']
?></span>/<?php echo $row['providersubcat'] ?> </h5>
<p><i class="fas fa-map-marker-alt"></i> <?php echo
$row['provideraddress'] ?></p>
<ul class="links_bottom_emp mt-2">
<li><a href="candidates_single.html">
<i class="far fa-envelope"></i>
<span class="icon_text"> <?php echo $row['provideremail']
?></span></a>
</li>
<li><a href="candidates_single.html">
<i class="fas fa-phone"></i>
<span class="icon_text"> <?php echo
$row['providercontact'] ?></span></a>
</li>
</ul>
</div>
</div>
<?php if ($status != "6") { ?>
<div class="col-md-3 emp_btn text-right">
<a href="javascript:void(0);"
onClick="popUpWindow('http://localhost/bitparttime/FT/Home-Service-
/track_book.php?tid=<?php echo htmlentities($row['booking_id']); ?>');"> Track
Booking </a>
</div>
<br>
<?php } else { ?>
<div class="col-md-3 emp_btn text-right">
<button <?php echo $button_disable; ?>> Track Booking </button>
</div>
<?php } ?>
<?php if ($button_disable != "disabled") { ?>
<div class="col-md-3 emp_btn text-right">
<a href="javascript:void(0);" onClick="cancel(<?php echo
htmlentities($row['booking_id']); ?>);"> Cancel Booking </a>
</div>
<?php } else { ?>
<div class="col-md-3 emp_btn text-right">
<button <?php echo $button_disable; ?>> Cancel Booking </button>
</div>
<?php } ?>
<br>
<?php if ($status != "6") { ?>
<div class="col-md-4 emp_btn text-right">

71
<a href="javascript:void(0);"
onClick="popUpWindow('http://localhost/bitparttime/FT/Home-Service-
/add_review.php?rid=<?php echo htmlentities($row['booking_id']); ?>');"> Add
Rating & Review </a>
</div>
<?php } else { ?>
<div class="col-md-4 emp_btn text-right">
<button <?php echo $button_disable; ?>> Add Rating &
Review </button>
</div>
<?php } ?>
</div>
<?php } ?>

Track Booking
This code segment is used to track the booking details from client profile.
<?php

include('includes/dbconnection.php');

$tid = $_GET['tid'];

$query = mysqli_query($conn, "select booking.*,service_provider.f_name as


providername,service_provider.l_name as providerlname,service_category.ct_name as
providercat,service_sub_category.service_name as
providersubcat,service_provider.profile_image as providerimg from booking inner
join service_provider on booking.sp_id=service_provider.sp_id inner join
service_category on booking.ct_id=service_category.id inner join
service_sub_category on booking.sub_ct_id=service_sub_category.id where
booking.booking_id='$tid'");
while ($row = mysqli_fetch_array($query)) {
?>
<!-- Date -->
<form method="get">
<div class="form-group">
<label>Your Service Provider Name</label>
<input type="text" class="form-control" readonly=""
value="<?php echo $row['providername'] . ' ' . $row['providerlname'] ?>">
</div>

<div class="form-group">
<label>Your Service Details</label>

72
<input type="text" class="form-control" readonly=""
value="<?php echo $row['providercat'] ?> / <?php echo $row['providersubcat'] ?>">
</div>

<div class="form-group">
<label>Your Booking Status</label>
<input type="text" class="form-control" style="font-
size:18px; " readonly="" value="
<?php if ($row['book_status'] == 1) { ?>
Confirm by Service Provider.
<?php }
if ($row['book_status'] == 2) { ?>
On the way to reach you Location.
<?php }
if ($row['book_status'] == 3) { ?>
Service Done Successfully.
<?php }
if ($row['book_status'] == 4) { ?>
Client Does not available at location
<?php }
if ($row['book_status'] == 5) { ?>
Service Booking Cancel by Service provider for some
reason.
<?php }
if ($row['book_status'] == 6) { ?>
Service Booking Cancel by Client for some reason.
<?php }
if ($row['book_status'] == 0) { ?>
Not Yet Confirm.
<?php } ?>">

</div>

<?php } ?>

Rating and Review


This code segment is used for rate the service done by the service provider
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');

if (isset($_POST['submit'])) {

73
if (strlen($_SESSION['login']) == 0) {
header('location:login.php');
} else {

$rid = $_GET['rid'];

$service_rating = $_POST['service'];
$review = $_POST['review'];

$query = mysqli_query($conn, "update booking set


service_rating='$service_rating',review='$review' where booking_id='$rid'");

if ($query) {

echo "<script>alert'Your Service Booking request store


successfully'</script>";
}
}
}
?>

Backend Code Segments

View Booking
This part of code segment is used in backend part of the system to view the booking details.
<table id="example1" class="table table-bordered table-striped">
<thead>
<tr>
<th>Booking No</th>
<th>Client Full Name</th>
<th>Client Email</th>
<th>Client Address</th>
<th>Client Contact-no</th>
<th>Booked Service & Details</th>
<th>Service Provider Full Name</th>
<th>Service Provider Address</th>
<th>Service Provider Email</th>
<th>Service Provider Contact-no</th>
<th>Current Booking Status</th>
</tr>
</thead>

74
<?php
$query = mysqli_query($conn, "select booking.*,client.f_name as
cname,client.l_name as lname,client.email as cemail,client.contact as
contact,client.address as caddress,service_provider.f_name as
providername,service_provider.l_name as providerlname,service_provider.email as
provideremail,service_provider.contact as
providercontact,service_provider.address as
provideraddress,service_category.ct_name as
providercat,service_sub_category.service_name as providersubcat from booking
inner join client on booking.client_id=client.client_id inner join
service_provider on booking.sp_id=service_provider.sp_id inner join
service_category on booking.ct_id=service_category.id inner join
service_sub_category on booking.sub_ct_id=service_sub_category.id");

$cnt = 1;
while ($row = mysqli_fetch_array($query)) {
?>
<tr>
<td><?php echo $cnt; ?></td>
<td><?php echo $row['cname'] . ' ' . $row['lname']; ?></td>
<td><?php echo $row['cemail'] ?></td>
<td><?php echo $row['caddress']; ?></td>
<td><?php echo $row['contact']; ?></td>
<td><b><span><?php echo $row['providercat'] ?></span></b> (<?php
echo $row['providersubcat'] ?> )</td>
<td><?php echo $row['providername'] . ' ' . $row['providerlname']
?></td>
<td><?php echo $row['provideraddress'] ?></td>
<td><?php echo $row['provideremail'] ?></td>
<td><?php echo $row['providercontact']
?></td>
<td><?php if ($row['book_status'] == 1) { ?>
<span style="color: green;">Confirm by Service Provider.</span>
<?php }
if ($row['book_status'] == 2) { ?>
<span style="color: orange;">On the way to reach you
Location.</span>
<?php }
if ($row['book_status'] == 3) { ?>
<span style="color: blue;">Service Done Successfully.</span>
<?php }
if ($row['book_status'] == 4) { ?>
<span style="color: Gray;">Client Does not available at
location</span>
<?php }

75
if ($row['book_status'] == 5) { ?>
<span style="color:SlateBlue;">Booking Cancelled by Service
provider</span>
<?php }
if ($row['book_status'] == 6) { ?>
<span style="color:darkred;">Booking Cancelled by Client</span>
<?php }
if ($row['book_status'] == 0) { ?>
<span style="color: red;">Not Yet Confirm.</span>
<?php } ?>
</td>
</tr>
<?php $cnt = $cnt + 1; } ?>
</table>

Admin Setting
This part of code segment is used to edit admin details.
<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['admin_login']) == 0) {
header('location:index.php');
} else {

if (isset($_POST['submit'])) {
$sql = mysqli_query($conn, "SELECT password FROM admin where password='"
. ($_POST['password']) . "' && username='" . $_SESSION['admin_login'] . "'");
$num = mysqli_fetch_array($sql);
if ($num > 0) {
$con = mysqli_query($conn, "update admin set password='" .
($_POST['newpassword']) . "' where username='" . $_SESSION['admin_login'] . "'");
$_SESSION['msg'] = "Password Changed Successfully !!";
} else {
$_SESSION['msg'] = "Old Password not match !!";
}
}

76
Appendix E
This appendix mainly related chapter 6– Testing and Evaluation
Test Cases for Client Registration
Project Name : Finger Tip
Module Name : Client Registration
Project Details Creted By : Ishkhan Ahamed
Reviewd By : Ushami Lokuge
Reviewed
Created Date: 26-Dec-22 Date: 27-Dec-22

Test Case Test Prerequisite Test Steps Input Data Expected Actual Status Severi Prio Execute
ID Description Result Result ty rity d by
/Test case
name
1. Browse the web site
Finger Tips First name : Ishad
2. click on the Register
Icon Last name : Ahamed

TC_Client Enter valid data Email ID : Miss.


Registered As
Registratio as required 3. Enter valid data ishad@gmail.com pass Ushami
Successfully expected
n_001 form 4. click on Register button Password : 123 Tester
Confirm Password :
123
Contact No : 0777
583 759
Address : Kandy
1. Browse the web site Alert
TC_Client Enter Invalid Miss.
Finger Tips First name : Ishad message as " As
Registratio confirm pass Ushami
2. click on the Register Password expected
n_002 password Tester
Icon Last name : Ahamed and Confirm

77
Password
3. Enter Invalid confirm Email ID :
Field do not
password ishad@gmail.com
match"
4. click on Register button Password : 123
Confirm Password :
1234
Contact No : 0777
583 759
Address : Kandy
1. Browse the web site
Finger Tips First name : Ishad
2. click on the Register
Icon Last name : Ahamed Alert
TC_Client 3.Enter Invalid Email Email ID : ishad message as Miss.
Enter Invalid As
Registratio 4. click on Register button Password : 123 "Invalid pass Ushami
Email expected
n_003 Confirm Password : email Tester
123 address"
Contact No : 0777
583 759
Address : Kandy
1. Browse the web site
Finger Tips First name : Ishad
2. click on the Register
Icon Last name : Ahamed
3.Enter Invalid Contact Alert
TC_Client Enter Invalid Number Email ID : ishad message as Miss.
As
Registratio Contact "Invalid pass Ushami
4. click on Register button Password : 123 expected
n_004 Number Contact Tester
Confirm Password : Number"
123
Contact No : 0777
583
Address : Kandy
1. Browse the web site Alert
TC_Client Miss.
Keep it as Finger Tips message as " As
Registratio Keep it as Empty pass Ushami
Empty 2. click on the Register Please fill expected
n_005 Tester
Icon out this

78
3. Keep it as Empty field"
4. click on Register button

Test Cases for Client Login

Project Name : Finger Tip


Module Name : Client Login
Project Details Created By : Ishkhan Ahamed
Reviewed By : Ushami Lokuge
Reviewed
Created Date: 26-Dec-22 Date: 27-Dec-22

Test Steps Actual Severity Priori Executed


Test Result ty by
Expected
Test Case ID Description/Test Prerequisite Input Data Status
Result
case name

1. Browse the web site


Finger Tips Direct to
TC_custom Enter Valid Customer should 2. click on the login user name: ishad Service Miss.
button As
er_login_0 Username and be a registered @gmail.com Provider pass Ushami
expected
01 Valid Password customer 3. enter valid user name password:123 booking Tester
and password Page
4. click on Login button
1. Browse the web site
Finger Tips Alert
Enter valid 2. click on the login
TC_custom Customer should user name: ishad message as " Miss.
username and button As
er_login_0 be a registered @gmail.com Invalid user pass Ushami
Invalid expected
02 customer 3. enter valid user name password:124 name or Tester
password
and invalid password password"
4. click on Login button
Enter Invalid 1. Browse the web site Alert
TC_custom Customer should user name :isran Miss.
username and Finger Tips message as " As
er_login_0 be a registered @gmail.com pass Ushami
Invalid 2. click on the login Invalid user expected
03 customer password:125 Tester
password button name or

79
3. Enter Invalid user name password"
and invalid password
4. click on Login button

1. Browse the web site


Finger Tips Alert
TC_STAF Enter Invalid Customer should 2. click on the login user name: isran message as " Miss.
As
F_LLOGI username and be a registered button @gmail.com Invalid user pass Ushami
expected
N_004 Valid password customer 3. enter Invalid user name password:123 name or Tester
and valid password password"

4. click on Login button


1. Browse the web site
Finger Tips
Enter Empty 2. click on the login Alter as
TC_custom Customer should Miss.
username and button user name: "Please fill As
er_login_0 be a registered pass Ushami
Empty password: out this expected
05 customer 3. Enter empty user name Tester
password field"
and empty password
4. click on Login button
1. Browse the web site
Finger Tips Alert
TC_custom Enter Empty customer should 2. Click on the login message as " Miss.
button user name: As
er_login_0 username and be a registered Please fill pass Ushami
password:123 expected
06 Valid password customer 3. Enter empty user name out this Tester
and valid password field"
4. Click on submit button
1. Browse the web site
Finger Tips Alert
Enter Empty 2. Click on the login
TC_custom Customer should message as " Miss.
username and button user name: As
er_login_0 be a registered Please fill pass Ushami
Invalid password:124 expected
07 customer 3. Enter empty user name out this Tester
password
and Invalid password field"
4. Click on submit button
TC_custom Enter Valid Customer should 1. Browse the web site user name: ishad Alert Miss.
As
er_login_0 username and be a registered Finger Tips @gmail.com message as " pass Ushami
expected
08 Empty customer 2. Click on the login password: Please fill Tester

80
password button out this
field"
3. Enter Valid user name
and empty password
4. click on Login button
1. Browse the web site
Finger Tips Alert
Invalid 2. click on the login
TC- Customer should user name: ishaead message as " Miss.
username and button As
customer_l be a registered @gmail.com Please fill pass Ushami
Empty expected
ogin_009 customer 3. Enter Invalid user name password: out this Tester
password
and Empty password field"
4. click on Login button

Test Cases for Add Sub Category

Project Name : Finger Tip


Module Name : Add Sub Category
Project Details Created By : Ishkhan Ahamed
Reviewed By : Ushami Lokuge
Reviewed
Created Date: 26-Dec-22 Date: 27-Dec-22

Test Case ID Test Description Prerequisite Test Steps Input Data Expected Actual Status Severity Priori Executed
/Test case name Result Result ty by

1. Browse the web site


Finger Tips
2.Go to admin page Sub
Miss.
TC_SubCat Login to the 2. login by giving user Category As
Input Valid data name and password Electrician pass Ushami
egory_001 system as admin added expected
Tester
3. select Service Category successfully
category
4.Select Service Sub
Category

81
5.Input valid data
6.Click Add Sub-
Category button
1. Browse the web site
Finger Tips
2.Go to admin page
2. login by giving user
name and password Miss.
TC_SubCat Keep It as Login to the 3. select Service Category Please fill As
Empty pass Ushami
egory_002 empty system as admin category out this field expected
Tester
4.Select Service Sub
Category
5.Keep It as empty
6.Click Add Sub-
Category button

Test Cases for Inquiry


Project
Name : Finger Tip
Module
Name : Inquiry
Created
Project Details
By : Ishkhan Ahamed
Reviewed
By : Ushami Lokuge
Created Reviewed
Date: 26-Dec-22 Date: 27-Dec-22

Test Case ID Test Prerequisi Test Steps Input Data Expected Actual Status Severi Prio Executed
Description te Result Result ty rity by
/Test case
name
Enter all 1. Browse the web site Name: Ushami Alert As Miss.
TC_Inquiry_001 pass
filed Finger Tips Email:ushami@gma message as " expected Ushami

82
correctly & 2. Go to contact us page il.com Thank you.! Tester
send 3. Enter valid data Subject: text We Will
request Message: text Contact
you"
4. Click submit button
1. Browse the web site
Keep some
Finger Tips Name : Ushami
filed are Miss.
2. Go to contact us page Email : Please fill As
TC_Inquiry_002 empty in pass Ushami
3. Keep some filed are Subject: out this field expected
the given Tester
empty Message:
form
4. Click submit button
1. Browse the web site Name: Ushami
Enter Finger Tips Email:ush123@gma Invalid Miss.
invalid 2. Go to contact us page As
TC_Inquiry_003 il.com email pass Ushami
email 3. Enter invalid email expected
Subject: address Tester
address address Message:
4. Click submit button

Test Cases for Service Rating


Project Name : Finger Tip
Module Name
: Add Rating
Project Details
Created By : Ishkhan Ahamed
Reviewed By : Ushami Lokuge
Created Date: 26-Dec-22 Reviewed Date: 27-Dec-22

Test Case ID Test Prerequisite Test Steps Input Data Expected Actual Status Severi Prio Executed
Description Result Result ty rity by
/Test case name

1. Login to the 1. Browse the web site Rating : 5 star Thanks for Miss.
TC_AddRating As
Input Valid data system as Finger Tips Review : Good the rating pass Ushami
_001 expected
client. 2. Go to My Account Service and review Tester

83
2. Booked the 3. Click Add rating
Service and Review Button
provider 4.Input valid data
5.Clik rating and
Review button
1. Browse the web site
1. Login to the Finger Tips
system as 2. Go to My Account
Miss.
TC_AddRating client. 2. 3. Click Add rating Please fill As
Keep It as empty Empty pass Ushami
_002 Booked the and Review Button out this field expected
Tester
Service
4. Keep It as empty
provider
5.Clik rating and
Review button

84
8 References
[1] [Online]. Available: https://onawadak.lk/. [Accessed 08 12 2022].

[2] [Online]. Available: https://www.quickhelp.lk/. [Accessed 08 12 2022].

[3] [Online]. Available: https://bellboy.lk/. [Accessed 08 12 2022].

[4] [Online]. Available: https://www.handy.com/. [Accessed 08 12 2022].

[5] [Online]. Available: https://www.localheroes.com/. [Accessed 08 12 2022].

[6] [Online]. Available: https://www.servicetoday.com.au/. [Accessed 08 12 2022].

[7] [Online]. Available: https://www.umass.edu/cfr/grant-writing/questions-think-about-when-planning-


project. [Accessed 26 12 2022].

[8] [Online]. Available: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-


is-use-case-diagram/. [Accessed 08 12 2022].

[9] [Online]. Available: https://www.tutorialspoint.com/uml/uml_class_diagram.htm. [Accessed 08 12


2022].

[10] [Online]. Available: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-


is-activity-diagram/. [Accessed 08 12 2022].

[11] [Online]. Available: https://creately.com/blog/diagrams/sequence-diagram-tutorial/. [Accessed 08 12


2022].

[12] [Online]. Available: https://www.lucidchart.com/pages/er-diagrams. [Accessed 08 12 2022].

[13] [Online]. Available: https://www.techtarget.com/searchsoftwarequality/definition/unit-testing.


[Accessed 27 12 2022].

[14] [Online]. Available: https://www.javatpoint.com/black-box-testing. [Accessed 27 12 2022].

[15] [Online]. Available: https://www.javatpoint.com/white-box-testing. [Accessed 27 12 2022].

[16] [Online]. Available: https://www.getastra.com/blog/security-audit/what-is-security-testing/.


[Accessed 27 12 2022].

[17] [Online]. Available: https://www.softwaretestinghelp.com/what-is-user-acceptance-testing-uat/.


[Accessed 27 12 2022].

[18] [Online]. Available: https://softwaretestingfundamentals.com/integration-testing/. [Accessed 27 12


2022].

85
Responsibility matrix
Index Number Name Work Done
Chapter 01, Chapter 02,
E2041405 Divyanjali P.L.U.I
Appendix B, Appendix E
Chapter 03, Chapter 04,
E2041370 Rashad M.I.A
Chapter 05, Appendix A
Chapter 06, Chapter 07,
E2041335 Ishkhan Ahamed I
Appendix C, Appendix D

86

You might also like