You are on page 1of 92

Addis Ababa Science and Technology University

College of Electrical & Mechanical Engineering


Department of CSIT, Software Engineering

Title: WedetEthio Service Locator

Group Members

Name ID

1. Mehiretab Teshome ETS 0632/09


2. Mebratu Kumera ETS 0628/09
3. Leul Habte ETS 0601/09
4. Henok Mulu ETS 0516/09

Advisor Name: Abdi Mulatu


Signature: ________________

January 2021
Acknowledgment
We would like to gratefully acknowledge the supervision of our advisor, Mr Abdi Mulatu, for his
help and his profound suggestions.
We also would like to thank all marketing managers, doctors, garage workers and waiters for
their willingness to help us on gathering data.
Table of Content

s
Introduction.................................................................................................................................................1
1.1 Overview............................................................................................................................................1
1.2 Statement of the Problem.................................................................................................................2
1.2.1 Existing System..........................................................................................................................2
1.2.2 Major Problem of Existing System.............................................................................................2
1.2.3 Proposed System.........................................................................................................................3
1.2.4 Advantage of Proposed System..................................................................................................4
Motivation...............................................................................................................................................5
Objective.................................................................................................................................................5
1.4.1 General Objective.......................................................................................................................5
1.4.2 Specific Objective.......................................................................................................................5
Scope and Limitation of the Project........................................................................................................5
1.5.1 Scope of the Project....................................................................................................................5
1.5.2. Limitation of the Project............................................................................................................7
1.6 Methodology.....................................................................................................................................8
1.6.1. Data Collection Methodology....................................................................................................8
1.6.2. System Design and Analysis Tools............................................................................................8
1.6.3. System Development Tools.......................................................................................................9
Chapter Two..............................................................................................................................................10
2.1 System Requirement Specification......................................................................................................10
2.2 Functional Requirement..................................................................................................................10
2.3 Non-Functional Requirements.........................................................................................................11
2.4 Feasibility Study...............................................................................................................................12
Chapter Three............................................................................................................................................14
3. System Analysis and Modeling..............................................................................................................14
3.1. Overview.........................................................................................................................................14
3.2. Scenario Based Modeling...............................................................................................................14
3.2.1 Use case Identification..............................................................................................................14
3.2.2 Actor Identification...................................................................................................................15
3.2.3 Use case Diagrams....................................................................................................................15
3.2.4 Use case Description.................................................................................................................19
3.2.5 Activity Diagram......................................................................................................................30
3.3. Behavioral/Dynamic Modeling.......................................................................................................33
3.3.1 Sequence Diagram........................................................................................................................33
3.3.2 State Diagram...........................................................................................................................38
3.4 Class Diagram..................................................................................................................................43
3.4.1 Purpose of Class Diagrams.......................................................................................................43
3.4.2 Identifying Classes....................................................................................................................43
System Design...........................................................................................................................................45
4.1 Overview..........................................................................................................................................45
4.2 System Design..................................................................................................................................45
4.2.1 Module Description..................................................................................................................45
4.3 Architecture of the System..............................................................................................................49
4.3.1 Architectural Style and Pattern.................................................................................................49
...........................................................................................................................................................49
4.3.2 Component Diagram.................................................................................................................50
4.3.3 Deployment Diagram................................................................................................................51
4.3.4 Database Design.......................................................................................................................52
4.3.5 ER Diagram..............................................................................................................................73
Chapter Five..............................................................................................................................................74
5.1. Implementation.........................................................................................................................74
5.2. Testing.......................................................................................................................................77
Appendix...................................................................................................................................................82
Referance..................................................................................................................................................83
List of Figures
Figure 3. 1 Use Case Diagram for Manage Accounts................................................................................16
Figure 3. 2 Use case diagram for Mobile application................................................................................17
Figure 3. 3 Use case diagram for Web based application..........................................................................18
Figure 3. 4 Activity Diagram for Authenticated User activity...................................................................30
Figure 3. 5 Activity Diagram for Guest User activity...............................................................................31
Figure 3. 6 Activity Diagram for Admin activity......................................................................................32
Figure 3. 7 Sequence Diagram for Login the system................................................................................34
Figure 3. 8 Sequence Diagram for Admin action with the system............................................................35
Figure 3. 9 Sequence Diagram for Authenticated user action with the system.........................................36
Figure 3. 10 Guest user action with the system.........................................................................................37
Figure 3. 11 State Diagram for Admin......................................................................................................39
Figure 3. 12 State Diagram for login........................................................................................................40
Figure 3. 13 State Diagram for registration..............................................................................................41
Figure 3. 14 State Diagram for user..........................................................................................................42
Figure 3. 15 system class diagram............................................................................................................44

Figure 4. 1 Model View Controller(MVC)................................................................................................49


Figure 4. 2 Component diagram................................................................................................................50
Figure 4. 3 Deployment diagram...............................................................................................................51
Figure 4. 4 Entity relationship diagram.....................................................................................................73

Figure 5 1 Admin Operation Snippet.........................................................................................................74


Figure 5 2 Business operation snippet.......................................................................................................75
Figure 5 3 Review Operation snippet........................................................................................................75
Figure 5 4 User Operation snippet.............................................................................................................76
List Of Tables

Table 3. 1 Use case for Create account......................................................................................................19


Table 3. 2 Use case for Update profile......................................................................................................20
Table 3. 3 Use case for Post Service..........................................................................................................21
Table 3. 4 Use case for Delete Service......................................................................................................22
Table 3. 5 Use case for View Comment....................................................................................................23
Table 3. 6 Use case for View Rate.............................................................................................................24
Table 3. 7 Use case for Leave comment....................................................................................................25
Table 3. 8 Use case for post photo.............................................................................................................26
Table 3. 9 Use case for Rate service..........................................................................................................27
Table 3. 10 Use case for Add favorite.......................................................................................................27
Table 3. 11 Use case for Search service.....................................................................................................28
Table 3. 12 Use case for handle service.....................................................................................................28

Table 5 1 Admin Login test case...............................................................................................................77


Table 5 2 User Login test case...................................................................................................................77
Table 5 3 Add Service Provider Test Case................................................................................................78
Table 5 4 Add Service Test Case...............................................................................................................78
Table 5 5 Removing Service Test Case.....................................................................................................79
Table 5 6 Removing the Service provider Test Case.................................................................................79
Table 5 7 Update service Provider Test Case............................................................................................80
Table 5 8 Update Service Test Case..........................................................................................................80
Table 5 9 Leave Comment Test Case........................................................................................................81
List of Acronyms

MVC Model View Controller

UI User Interface

DOM Data Object Model

JSON Java Script Object Notation

UML Unified Modeling Language

HTTP Hypertext Transfer Protocol

API Application Programing Interface


Abstract
Addis Ababa is one of the largest cities in Africa. So, it is difficult to discover all service
providers with their types of services, location, quality of services (by depending on other user
experience). WedetEthio is a web-based and android mobile application that facilitate the above
problems.

Currently, in Addis Ababa people use google map to discover service providers. It has some
limitations like: - service providers registered in google map are very less, no much details about
which services are included in their services.
Chapter One

Introduction
1.1 Overview
The use of technology is increasing day by day, we all depend on technology, and we use various
technologies to accomplish specific tasks in our lives. Today we have various emerging
technologies that impact our lives in different ways and is being implemented in almost every
aspect of our lives and business function. So, embracing it and learning how to use technology in
whatever we do is very important and recommended. As Addis Ababa is big city, it is difficult to
discover service providers manually by appearing personally. So, we come up with “Simplify
your life in the modern world” which mean anyone who want service it’s on his/her hand
through their phone or electronics media.

Nowadays, people life situation forces them to move from one place to another it might be due to
work or some other situations, because of this our platform will assist them to discover different
services, it might be parking services, take away, delivery, whether it is best for children or not,
and so on. So this platform makes user life easy as possible by saving their time of finding
different kind of services, unnecessary money spent by traveling in exploring services that they
desire and allows them to easily determine the quality of the services provided by the service
providers.

Our platform provides an information related to service providers like their location, services
provided to users, reviews on the services, provide photos that shows how the organization looks
like. It also allows business owners to post their services, their photos, view users comments and
ratings.
1.2 Statement of the Problem
1.2.1 Existing System
Currently, As we found in our research there are few systems that allows a person to locate
different organizations like restaurants, hospitals, hotels and garages and shows types of services
they provide to their customers and view service providers those are nearby in Addis Ababa.[5]

Nowadays many people use Google map [4] to find the location of different organizations but it
cannot provide the variety of services provided by those organizations[6] and doesn’t provide
feedbacks on the services given by previous users of that services. For Example: - a person wants
to find or locate a specific service provider organization, he/she asks other persons who knows
about it or by going to places which is very tiresome and also causes unnecessary wastage of
money. In addition to this, it is difficult for a person to determine specific services provided by
organizations for example Delivery service, Takeaway, Accept credit card, Outdoor sitting, Wi-
Fi, Reservation, Good for Groups, Parking, Good for kids and etc.

1.2.2 Major Problem of Existing System


The major problems are categorized in terms of customers and service providers which are listed
below.

In terms of customers

 Difficult to locate service providers: because the person has to search for the service
providers manually.
 Difficult to identify the types of services provided by that organization: - the user can’t
know what services are provided in every organization unless he/she went to that place
before or asked about that place.
 Unnecessary time wastage: - trying to check different service areas personally consumes
time.
 Causes unnecessary cost: - moving from one place to another searching for a place to get
service from causes some costs for transportation.
 Difficult to choose the best alternative

In terms of service providers

 Difficult to advertise services: - many small-scale organizations can’t afford to advertise


their services on the media or online. Therefore, most small and medium scale businesses
don’t have a way to advertise their business.
 Difficult to get customers feedback: - as we’ve observed many organizations use paper
works to get feedback from their clients yet those feedbacks are difficult to analyze and
draw conclusion from and very few people use them.

1.2.3 Proposed System


WedetEthio is a platform that is built for web based and android mobiles. Consists users and
admins. There are two types of users these are: - guests and registered users. Guest users can see
posts found in our platform except commenting and rating services. WedetEthio aims to show
services that are given by registered organizations like hospitals, restaurants, automotive and
hotels to registered customers in need so they can easily choose or decide which is best for them.

As we know in Ethiopia it is difficult to compare companies with their quality of service and
discover their location. WedetEthio is a platform that guides users to get quality of services and
service providers location everywhere in Addis Ababa. Our platform lists different type of
services that are registered to the system and the user can access the system as a guest or login as
an authenticated user and then access different kinds of services like locating nearby service
providers, view different kinds of services provided and reviews and also comment and give
rating to the services by login as authenticated user. The platform also allows the service
providers to be easily located by different people and allows them to view the feedback
regarding to the services they provide.
The platform provides opening and closing hours of the service providers. It allows us to know
which service provider is open or not.

Using our platform, a customer can view services that provided by the organizations and can also
give feedback or comment on those services so that other customers can view previously posted
and can act accordingly.

The platform has both web-based application and android mobile application. In web-based
application it will address the admin part , and in android mobile application we will address
users only.

Web based application allows to login in order to manage a business as an admin. Admin can
add and manage services the service providers provide, see different reports related to their
service.

In the Android mobile application, it only supports users. So, it only supports different services
that a user can have as stated above.

Users could access the platform in two ways. The first is as a guest and second as an
authenticated user by using Facebook or Google. Guests can only read and discover services that
are posted on the system. Authenticated users have a permission to make a comment, a review
and update comments and reviews.

Authenticated users will be authorized to make reviews on the service providers page,
bookmarks in order to easily access for future use, access their list of reviews to update it later if
something is changed in service providers services, read services provided by service providers
and search places.

1.2.4 Advantage of Proposed System


The advantages of the proposed system are listed below.

 Allows users to easily locate service providers


 Allows users to view services provided by the organizations
 Allows users to give feedback, comment and rate the services
 Allows service providers to get customers without a third-party involvement
 Allows users to know the opening and closing time of the service providers
 Save time and cost
 Makes life easy

Motivation
We realized that service providers spend lot of money on advertising their services, thus we
thought of a system that allows service providers to easily advertise their services and allows a
user to easily locates those service providers, view their services which eliminates waste of
unnecessary cost and saving time and also eliminates the involvement of third-parties.

Objective
1.4.1 General Objective
The main objective of this project is to build a web based and android mobile application that
gives information of hotel, hospital and garage service providers in our city.

1.4.2 Specific Objective


The specific objectives of the project include:

 Studying the existing system to identify major problems by employing different


methodologies
 Design the new system
 Implementing the new system
 Testing the system
 Allows users to easily locate nearby service providers without any help from others and
without spending any cost
Scope and Limitation of the Project
1.5.1 Scope of the Project
WedetEthio will use to cover main services provided by the 4 main service providers as
mentioned below.

1.5.1.1 Restaurants
For restaurants there are different services that we will provide. These are: -

 Allow customers to see the menu of the restaurants.


 List different services provided by the restaurants like: - Wi-Fi, takeaway, delivery, good
for kids, outdoor sitting, parking and etc.
 Filter restaurants by their services. Like those who provide delivery system, takeaway
and reservation.

1.5.1.2 Hotels
Hotels are the giant institutions that are affecting Ethiopian truism. So, Tourists or local
customers need more information about hotels before they use or book. This information we will
include in our application are: -

 What type of bed rooms are available?


 What type of foods are available in the hotel with their menu?
 List different services provided by the Hotels like: - Reservation availability,
WIFI, parking service and etc.

1.5.1.3 Automotive
Automotive are places that gives different vehicle repair services

Information included in Automotive service providers are: -

 Type of cars they sell.


 Services they will give like: - Oil change, Air conditioning service, Vehicle
Electrical Repair, Transmission repair, Tire rotation, Engine repair, Brake
service and etc.

1.5.1.4 Hospitals
Hospitals are places that play crucial role in saving people’s life. So, we must assess and learn
from their previous activities.

Information included in Hospital service providers are: -

 Ambulance service.
 Emergency service and Urgent care.
 Types of medical treatment they will provide.

All the above providers must include the following: -

 Location of service providers.


 Discover service providers by their distance from the customer.
 Customers could rate and write reviews on which they get services.
 Detailed information of service providers is supported by different
images.
 Customers could make a bookmark in order to access service
providers easily for future usage.

1.5.2. Limitation of the Project


Our system provides services like: - service provider location, providing types of services given
by the organization (service list), commenting and rating services but don’t allow any type of
payment methods and does not support iPhone phone.
1.6 Methodology
1.6.1. Data Collection Methodology
We have used different ways to collect the data for our project which include interview and
survey questions.

The requirement analysis and elicitation process were conducted via observation and
interview. We conducted our interview and observed 3 hotels, 2 restaurants, 1 hospital and 1
garage. The Hotels we observed and interviewed are Jupiter Hotel which is located at
Kazanchis, Kaleb Hotel which is located at Bole around Edna mall and the third one is
Saromaria Hotel which is also locate at Bole around Edna mall. The restaurants are Yod
Abyssinya located at bole and Lalibela around stadium. The hospital that we observed is
tirunesh bejing hospital located at kality, meshualekiya and the garage is named Haile
Atsebah.

We have interviewed the marketing department in the Hotels and restaurants especially the
Marketing managers and doctors in hospitals.

We have also interviewed different customers of hotels, restaurants and garages for the
requirement analysis and elicitation process.

With the observations and interviews we have gained tremendous amount of knowledge on
how to design our proposed system better so that it can better satisfy its stakeholders.

1.6.2. System Design and Analysis Tools


Tools required for developing our platform are: -

 Microsoft Excel - for Requirement gathering and Data analysis.


 Ganttpro - to produce the gantt chart for the schedule of the project.
 Adobe XD and Adobe illustrator - for interface design.
 Enterprise architect - visual modeling and design tool.

1.6.3. System Development Tools


Below are the tools that we’ve used: -
 For front end, we have used ReactJs. React is a JavaScript library for building user
interfaces. It is maintained by Facebook and a community of individual developers and
companies. React can be used as a base in the development of single-page or mobile
applications. [7] It encourages the creation of reusable UI components, which present
data that changes over time. Lots of people use React as the V in MVC. React abstracts
away the DOM from you, offering a simpler programming model and better performance.
React can also render on the server using Node, and it can power native apps using React
Native. React implements one-way reactive data flow, which reduces the boilerplate and
is easier to reason about than traditional data binding.[1]
 For the back-end side, we have used Spring Boot [2], Spring Boot helps you to create
stand-alone, production-grade Spring-based Applications that you can run. We take an
opinionated view of the Spring platform and third-party libraries, so that you can get
started with minimum fuss. Most Spring Boot applications need very little Spring
configuration.
 For the database we have used non-relational database which is called MongoDb[3],
o MongoDB stores data in flexible, JSON-like documents, meaning fields can vary
from document to document and data structure can be changed over time.
o The document model maps to the objects in your application code, making data
easy to work with Ad hoc queries, indexing, and real time aggregation provide
powerful ways to access and analyze your data
 Java - Java is the official language for Android App Development and consequently, that
it is a cross-platform tool and it is the most used language as well. Many of the apps in
the Play Store are built with Java and it is also the most supported language by Google.
[4]

Chapter Two

2.1 System Requirement Specification


WedetEthio is a mobile application that will assist users to find and locate service providers, see
the detailed services provided by providers, and collect user reviews to make the providers
provides quality service. WedetEthio is mainly use location services to track user location and
provide services those are around user’s location. It also enables services more accessible by
users.

2.2 Functional Requirement


Functional requirement defines a function of a system or its component, where a function is
described as a specification of behavior between outputs and inputs.[8]

We classify our functional requirements in to: -

 Authentication
 Administrative functions
 Authorization levels

Authentication requirement: -

 The system allows registrations of customers


 The system allows to login to the system
 Allows authenticated user to comment, rate, add to favorite, view comment, view rate,
view service and search services
Administrative functional Requirements: - The system allow admin to control and manage
their business ventures and in order to

 Create and manage services provided in the business.


 View their reviews and ratings provided by the users.
 Get a report about their user activities like daily visit, total review etc.

Authorization Requirements: -

Guest users will be authorized to

 Read services provided by service providers.


 Search places.

2.3 Non-Functional Requirements


Non-functional requirement is a requirement that specifies criteria that can be used to judge the
operation of a system, rather than specific behaviors. Though there are many different
nonfunctional requirements we tried to choose the ones that best conform to our system.
1. Usability
 Ease of access – The system provides easy mechanism in order to user to access
all relevant information with available filtering options
 Intuitive interface – The system will have an interface that is very easy to use and
doesn’t require training.
 User Experience – The system will use easy icons that the user will guess their
usages.
 Real-time information receiving – The system should function in a way that the
user has signed into it, he/she can receive any newly added or edited information
without having to re-login.
 web and mobile accessibility – the system will be accessible in any computer,
smart phone, or tablet and others that are connected to the internet.
2. Reliability
 Appropriate message – if there is a crash or any failures the system will show the
users an appropriate message and the action that must be taken by the user.
 Crash Handling – in the event of a system crash during a transaction, the current
transaction will either completed or not completed. This will be handled by an
already existing database.
 Effective recovery – the system can effectively recover from exceptions and runs
the server runs for ever by returning the errors and continuing the execution.
3. Performance
 Dealing with big data – the system has to deal with large CRUD(Create read
update delete) operations.
 Efficient Big data manipulation – the system will use performance optimization
tools like indexes in mongo database to make read operations very fast and
effective.
4. Supportability
 Availability – the android app is accessible anytime, anywhere and via mobile
devices with internet connection.
 Interoperability – the android phone users can access the system using a mobile
app.

2.4 Feasibility Study


Here we have evaluated whether conditions are right to implement our ‘WedetEthio’ project. We
tried to cover product technical, economic, schedule, behavioral feasibility of our system.
Technical Feasibility
WedetEthio is a complete web and mobile platform. The main technologies and tools that are
associated with it are: -
 Microsoft office word: - used to write and edit the project’s documentation.
 Microsoft office excel: - used to analyze different data those are necessary for the project.
 ReactJS: - is a JavaScript framework used for us to build the front end of our application.
 Android Studio: - is a google default android build IDE. We use it to build android
applications.
 Mongo dB: - is a no-sql document database used for us to store data.
 Adobe XD: - is an adobe creative cloud product that is used to build web wireframes and
mobile application designs.
 Adobe Illustrator: - is an adobe creative cloud product that is used to create vector-based
drawings. This tool is used to us to make descriptive icons and different drawings.
Each of these technologies are freely available and the technical skills required are manageable.
Time limitations of the product development and the ease of implementing use these
technologies are synchronized.
Schedule Feasibility
We have five major milestones and a break time in the project schedule for the development of
this project.

Milestones Time
Requirement Gathering 10/28/2019 - 11/05/2019
Requirement Analysis 11/06/2019 – 11/13/2019
Design 11/14/2019 – 12/24/2019
Development 01/27/2020 – 01/13/2021
Testing 01/12/2021 – 01/20/2020
Table 2.1 showing the schedule feasibility of the system development

We are currently going through the right direction with the schedule. The system can be
developed in the given time table. Also, the proposed system doesn’t use any technology that
would be too difficult to implement, therefore it is schedule feasible.

Behavioral Feasibility
The system has a user-friendly interface. The system only requires a basic understanding of
computer and mobile application. Online help is also available. Users can leave comments and
reviews regarding the system’s functionality which will help in identifying vulnerabilities, if any,
in order to modify the system.
Chapter Three

3. System Analysis and Modeling


3.1. Overview
In this section we will analyze and elaborate the basic requirements established during inception,
elicitation, and negotiation. We will use models like use-case diagrams, activity diagrams,
sequence diagrams, state diagrams and class diagrams to conceptualize and construct the
proposed system.

3.2. Scenario Based Modeling


A use case represents a function that the system performs. Alternatively, a use case can be
thought of as a goal that some actor can achieve with the system. On the basis of that we
identified the functions that our system performs, and marked them as use-cases.

3.2.1 Use case Identification


The identified use cases are:

 Create account: - Allow users to create an account.


 Update profile: - Allows users and to update their existing profile.
 Post services: - Allow admin to post the services to customers.
 Delete services: - Allow admin to remove services that are no longer available
 Search or discover services: - Allows users to easily find different kind of services
provided by the service providers.
 View services: - Allows users (guest or authenticated user) to view posted services.
 View comment: - Allows users (guest or authenticated user) to view posted
comments.
 View rates: - Allows users (guest or authenticated user) to view ratings.
 Leave comment: - Allows authenticated users to comment on the available services.
 Rate services: - Allows authenticated users to rate on the services that are available.
 Post photo: - Allows authenticated users to post photos along with comment.
 Add favorites: - Allows authenticated users to bookmark the services.
 Add Location: - Allows to insert the business location using google map.
 Google Map: - Provides satellite image.
 Track location: - Allows users to view nearby service provides based on their current
location.

3.2.2 Actor Identification


An actor specifies a role played by a user or any other system that interacts with the subject. On
the basis of that we identified the actors that interact with our system

 Admin- an admin is the highest body in the system that monitor all activities. He/she
controls the data and overall activities of the system including post services, track reports,
handle CRUD operations of the service, update profile of the organization and other
activity.
 User- any user with an account can use the system to discover services nearby his/her
location. Users can also leave comment order, rate and add services to their favorite list.

3.2.3 Use case Diagrams


Use case diagram is a representation of a user's interaction with the system that shows the
relationship between the user and the different use cases in which the user is involved. A use
case diagram can identify the different types of users of a system and the different use cases and
will often be accompanied by other types of diagrams as well.[10]
Figure 3. 1 Use Case Diagram for Manage Accounts
Figure 3. 2 Use case diagram for Mobile application
Figure 3. 3 Use case diagram for Web based application
3.2.4 Use case Description
Use case name Create account
Actor Authenticated user
Used use case Authorize Account
Goal of context To create accounts for the user
Pre-condition Interest of user
Post-condition Use the different functionality of the platform
Exception None
Flow of Event 1. User select the his/her option like
facebook or google
2. While clicking the option the
system create by taking the
information from facebook or
google api.
Table 3. 1 Use case for Create account

Use case name Update Account


Actor Authenticated user
Used use case Add Location
Goal of context To update the previous profile when there is a new
change
Pre-condition There must be a previously stored information and a
new amendment is required
Post-condition User profile is updated
Exception Cannot modify if there is no any account
Flow of Event 1. User clicks on update button
2. System displays new page with editable
fields that contains the previous information
3. User modifies the desired fields
4. User press the update button
5. The system analyzes all the inputs A1
6. The system replaces the newly inserted
business information by the old one

A1 If required filled is missed or invalid input is


provided, the system displays appropriate
information and goes back to step 3
Table 3. 2 Use case for Update profile
Use case name Post Services
Actor Administrator
Used use case None
Goal of context Post the services that are available to the
customers.
Pre-condition none
Post-condition Making it available to its customers.
Exception Mus be authenticated business owner
Flow of Event 1. User access the post service page
2. User fills the services that provides
to its customers
3. User clicks the save button
4. System analyze the input fields A1
5. System takes the services specified
and save it to the database with
respect to the organization

A1 If there is any filled that is missed


or if invalid input is provided, the
system displays appropriate
information and goes back to step
2
Table 3. 3 Use case for Post Service
Use case name Delete Services
Actor Administrator
Used use case None
Goal of context Remove services that are no longer
available to the customer.
Pre-condition The service must be previously posted.
Post-condition The service will be no longer available.
Exception
Flow of Events 1. User access the delete service page
2. System list out all the services that
are currently provided by the actor
to the customer
3. User selects those services that are
no longer available to its customer
4. Actor clicks on delete button
5. The system prompts confirmation
6. User chooses “Yes” button.
7. The system removes the service.
A1 If the user chooses the “No” button
go to step 2.
Table 3. 4 Use case for Delete Service
Use case name View Comment
Actor Guest, Authenticated user, Administrator
Used use case None
Goal of context To know what the user experienced from
using the services provided.
Pre-condition Admins must have users that have used
their services
Post-condition Users and Admin can view the comments
that are posted by other users
Exception
Flow of Event 1. User clicks on view comment
2. System retrieve all available
comments from the database with
respect to the services
3. System displays all the comments
of the user
4. User view those comments

Table 3. 5 Use case for View Comment


Use case name View Rate
Actor Authenticated User, Guest, Administrator
Used use case None
Goal of context To know how much the user is satisfied
from using the organization’s services
Pre-condition None
Post-condition Users and Admin can view the rating of a
service that are posted by other users and
act accordingly
Exception
Flow of Event 1. User clicks on view rate
2. System retrieves
3. System displays the rating of the
services
4. User view those ratings

Table 3. 6 Use case for View Rate


Use case name Leave comment
Actor Authenticated User
Used use case post photo
Goal of context To send user comment about the service he/she served
Pre-condition Must be an account of the system to comment
Post-condition The user’s comment is visible to all other user to see and reply
comments too
Exception None
Flow of Event 1. User clicks on comment button
2. System display template for writing comment
3. User fills his/her text comment to the template
4. User click on send button
5. The system analyzes the inputs. A1
6. System takes the data from template and save to database
A1 If the input field is empty the system checks and goes back to
step 2.
Table 3. 7 Use case for Leave comment
Use case name Post photo
Actor Authenticated User
Used use case None
Goal of context To post the photo of the service he/she served
Pre-condition Must be an account of the system to comment
Post-condition The users post is visible to all other user to see and reply comments too
and also visible for business owners
Exception None
Flow of Event 1. Actor clicks on post button.
2. System display templates for posting action and take photo
button to take photo live
3. User fills his/her text description and take or select photo from
his/her local storage to the template
4. User click on post button
5. System takes the data and save to database

Table 3. 8 Use case for post photo


Use case name Rate Service
Actor Authenticated User
Used use case None
Goal of context To rate or giving the quality of the service they give
Pre-condition Must be an account of the system to comment
Post-condition The user’s rate to the service is visible to all other user to see,admin
and other user try to use that service depends on its rate
Exception None
Flow of Events 1. User clicks on the star button beside on the service photo or
drag on it
2. System counts its rate value while user drag or click on the star
button
3. System automatically takes its counts while the user clicks or
drag on the stars.
4. The system saves to database

Table 3. 9 Use case for Rate service

Use case name Add to favorite


Actor Authenticated User
Used use case None
Goal of context To add his/her favorite service to his bucket
Pre-condition Must be an account of the system to comment
Post-condition The user can simply find which type of service he/she mostly favorable
Exception
Flow of Events 1. User clicks on add to favorite button
2. System saves it to the database

Table 3. 10 Use case for Add favorite


Use case name Search Service
Actor Authenticated User, Guest, Admin
Used use case None
Goal of context To find the service he/she want from the posted service through typing
name of service
Pre-condition None
Post-condition The system displays the searched item for the user, and for the admin
Exception None
Flow of Events 1. Typing on search bar
2. System display auto-completion names similar to his/her typing
word
3. Actor hit enter or click search button on side of search bar
4. System displays the searched data to user

Table 3. 11 Use case for Search service

Use case name Add Location


Actor None
Used use case Google Map
Goal of context To add the location of the service provider
Pre-condition None
Post-condition Customers can easily track the service provider
Exception
Flow of Events 1. User click on add location and system provide google map
Table 3. 12 Use case for handle service
Use case name Google Map
Actor Admin
Used use case None
Goal of context To show all the available locations
Pre-condition When admin add the services
Post-condition None
Exception None
Flow of Event 1. User clicks on add location
2. System provides google map
3. User pin on the desired location
point

Table 3. 13 Use case for Google Map


3.2.5 Activity Diagram
Activity diagram is UML diagram which shows flow of control or object flow with emphasis on
the sequence and conditions of the flow. The actions coordinated by activity models can be
initiated because other actions finish executing, because objects and data become available, or
because some events external to the flow occur.[11]

In this part of document, we want to show the flow of control and conditions in order to populate

Figure 3. 4 Activity Diagram for Authenticated User activity


Figure 3. 5 Activity Diagram for Guest User activity
Figure 3. 6 Activity Diagram for Admin activity
3.3. Behavioral/Dynamic Modeling
Behavioral/Dynamic view emphasizes the dynamic behavior of the system by showing
collaborations among objects and changes to the internal states of objects. This view includes
sequence diagrams and state machine diagrams.[12]

In other words, a behavioral diagram shows how the system works in motion that is how the
system interacts with external entities and users how it responds to input or event and what
constraints it operates under.

3.3.1 Sequence Diagram


A sequence diagram depicts the dynamic behavior of an entity via a temporal focus on an
interaction, how the elements that collaborate to constitute an entity interact over time to provide
the functionality of the entity, using classifier roles and messages or using instances and stimuli.
This type of role is known as a dynamic role. Sequence diagrams are also known as interaction
diagrams they capture patterns of collaboration and interaction among participating elements. A
sequence diagram is used to depict one or more interactions within a single collaboration. An
entity is a classifier for example a system, subsystem, or class.[13]

In this domain we need to show the different element of the system interact to each other and to
exchange messages in order to

 System user login and authentication


 Action of the admin
 User action while using the system
Figure 3. 7 Sequence Diagram for Login the system
Figure 3. 8 Sequence Diagram for Admin action with the system
Figure 3. 9 Sequence Diagram for Authenticated user action with the system
Figure 3. 10 Guest user action with the system
3.3.2 State Diagram
A state diagram is used to represent the condition of the system or part of the system at finite
instances of time. It’s a behavioral diagram and it represents the behavior using finite state
transitions.[14]

State diagram is used to model the dynamic behavior of a class in response to time and changing
external stimuli. We can say that each and every class has a state.

In this domain we need to show the different states of the system on the way Admin, login and
user interaction.
Figure 3. 11 State Diagram for Admin
Figure 3. 12 State Diagram for login
Figure 3. 13 State Diagram for registration
Figure 3. 14 State Diagram for user
3.4 Class Diagram
Class diagram is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the relationships
among objects.[15]

3.4.1 Purpose of Class Diagrams


The purpose of class diagrams are: -
 Shows static structure of classifiers in a system
 Diagram provides a basic notation for other structure diagrams prescribed by UML
 Helpful for developers and other team members too
 Business Analysts can use class diagrams to model systems from a business perspective

document we want to show how we structured the system at the level of classes and how these
classes relate to each other and their multiplicity.

3.4.2 Identifying Classes


Identified classes are listed below: -
 Menu
 Review
 User
 Business Account
 Business
 Photo
 Bookmark
 Order History
Figure 3. 15 system class diagram
Chapter Four

System Design
4.1 Overview
We designed our system as a three tier application consisting of a presentation tier for handling
the views and user interface, a web server for handling all the business login for the system and a
database tier. The web server is maintained using Apache HTTP server. The database that we are
going to use is MongoDB and code development will be done via React.

4.2 System Design


The proposed system that we are going to build is divided into 4 main components. They are
shown in the following diagram.

System

User Business Menu Review

4.2.1 Module Description


From the above system decomposition diagram, we have 4 main components. These are:- user
component, Business component, Menu component and Review component. Detailed
explanations of those components is provided below.
A. User

This module is provides a way to create, rate, order food from the menu’s of different service
providers and review different business services based on their serve.

Interfaces those are provided for users are:- Homepage, User page, Bookmarks list page,
Business providers list page, Business providers detailed page, Menu page, Login page and Sign
up page

Processing

Users generally rate, review different business services.

CRUD operations performs by user

 Users can create a new account by verifying their identity. This allow them to make a
review, adding bookmarks to easily access for future.
 Users are able to see list of their bookmarks to easily navigate.
 Users can see their reviews easily from their account section to update them.
 They can see near by business service providers
 Users can sort and filter service providers based on open and closing time, category,
nearness.
 While user is viewing details of service providers, the user can edit reviews from service
providers and menu.
 While user is viewing details of service providers, the user can delete/remove reviews
from service providers and menu.

Creating a user account

 Any body can create a user account in order to get additional services beyond only
looking service providers.
 Account will be created using facebook or google account in order to verify user’s
identity.
 While creating user account user is prompted to fill the following information:-
o First name
o Second name
o Age
o Sex
o Default location
o Photo (Avatar)
 After filling this information User presses the ‘create’ button and the account will be
created and ready for usage.
B. Business(Admin)

This module is responsible for creating any service and managing services.

Business(Admin) Account can see Sing up page, Sign in page, Business page. There is only one
Business account to manage and control the business.

Processing

CRUD operations perform using business account

 Admin will be created to manage and create business service only.


 Admin could see all information that will be post to it’s page.
 Admin could edit any information that is available on the page of Business service.
 Admin can delete information from it’s page except user reviews.
 Admin can easily look reviews provided by users in the business account.

Creating a Business

 While creating Business admin have to provide the following information:-


o Business name
o Address
o Location coordinates
o Phone Number
o Web Address of the business
o Specific category
o Email Address
C. Menu

Menu module consists of different food menus of restaurants and hotels.

Processing

CRUD operations perform on Menu

 Admin create a menu items(foods) from their restaurants or hotels.


 Admin can upload pictures of the menu items(foods).
 Admin could eliminate/delete any pictures uploaded by him self .
 Admin can update menu items(foods).

Creating a menu

 While creating a menu Admin have to provide the following information:-


o Food name
o Description
o Money
o Photo of the food
o Type of the food
D. Review

Review module handles any user comments and rates to business services and menu.
4.3 Architecture of the System
4.3.1 Architectural Style and Pattern
Architectural Style

Architectural styles are a collection of principles that shape or govern the design of the
application. Many of the styles overlap and can be used in combination. we will be following
two cooperating architectural styles:

 Object Oriented Architectural Style - is based on division of tasks for an application or


system into individual reusable and self-sufficient objects, each containing the data and
the behavior relevant to the object.
 Component Based Architectural Style - is a reuse-based approach to defining,
implementing and composing loosely coupled independent components into systems.

Architectural Pattern

An architectural pattern is a general, reusable solution to a commonly occurring problem in


software architecture within a given context. The user interfaces of our system change often and
the same information is presented in different ways, but the core business logic and data is stable.
Due to this reason, we will be using the MVC architectural pattern.

 Model View Controller (MVC) is an architectural pattern that separates an application


into three main logical components: the model, the view, and the controller. Each of these
components are built to handle specific development aspects of an application.

Request / Response

Controller
Update/Manipulate
Update view
data model
Update data model Presentation Layer

Model
View
Figure 4. 1 Model View Controller(MVC)
4.3.2 Component Diagram
In Unified Modeling Language (UML)[16], a component diagram models the physical aspects of
a system. It also depicts how components are wired together to form larger components or
software systems. Here we have provided our system’s components and their interactions with
the below component diagram.

Figure 4. 2 Component diagram


4.3.3 Deployment Diagram
Deployment diagrams are used to visualize the topology of the physical components of a system,
where the software components are deployed. Deployment diagrams are used to describe the
static deployment view of a system. As in the diagram below we have depicted how we want to
deploy our proposed system.[17]

Figure 4. 3 Deployment diagram


4.3.4 Database Design
Our database is mongodb, the below mongodb schema design is trying to describe the schema of
the database collections will have.[9]

"User": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"id",

"name",

"since",

"location"

],

"properties": {

"id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"name": {

"bsonType": "string",

"description": "must be string and is required"

},

"since": {
"bsonType": "date",

"description": "must be date and is required"

},

"location": {

"bsonType": "object",

"required": [

"coordinates"

],

"properties": {

"type": {

"bsonType": "string",

"description": "is optional and the only location type is Point"

},

"coordinates": {

"bsonType": "array",

"description": "2 double values, 1.for longitude and 2.for latitude respectively"

},

"Business": {
"$jsonSchema": {

"bsonType": "object",

"required": [

"id",

"name",

"description",

"address",

"phoneNumber",

"aboutUs",

"workingHours",

"services",

"location",

"category"

],

"properties": {

"id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"name": {

"bsonType": "string",

"description": "must be string and is required"

},
"description": {

"bsonType": "string",

"description": "must be string and is required"

},

"address": {

"bsonType": "string",

"description": "must be string and is required"

},

"phoneNumber": {

"bsonType": "array",

"description": "must be arrays of string of phoneNumbers"

},

"aboutUs": {

"bsonType": "string",

"description": "must be string and is required"

},

"workingHours": {

"bsonType": "object",

"required": [

"monday",

"tuesday",

"wendensday",

"thursday",
"friday",

"saturday",

"sunday"

],

"properties": {

"monday": {

"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {

"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"tuesday": {
"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {

"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"wendensday": {

"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {
"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"thursday": {

"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {

"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",
"description": "long timestamp value"

},

"friday": {

"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {

"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"saturday": {

"bsonType": "object",
"required": [

"start",

"end"

],

"properties": {

"start": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"sunday": {

"bsonType": "object",

"required": [

"start",

"end"

],

"properties": {

"start": {
"bsonType": "timestamp",

"description": "long timestamp value"

},

"end": {

"bsonType": "timestamp",

"description": "long timestamp value"

},

"services": {

"bsonType": "array",

"description": "arrays of strings that describes their services"

},

"location": {

"bsonType": "object",

"required": [

"coordinates"

],

"properties": {

"type": {

"bsonType": "string",
"description": "is optional and the only location type is Point"

},

"coordinates": {

"bsonType": "array",

"description": "2 double values, 1.for longitude and 2.for latitude respectively"

},

"web_url": {

"bsonType": "string",

"description": "web address of the organization and is optional"

},

"email": {

"bsonType": "string",

"description": "email address of the organization and is optional"

},

"category": {

"bsonType": "array",

"description": "arrays of strings with specified categories"

},
"BusinessAccount": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"businessName",

"address",

"location",

"phoneNumber",

"web_url",

"category",

"email"

],

"properties": {

"id": {

"bsonType": "objectId",

"description": "must be string and is required"

},

"businessName": {

"bsonType": "string",

"description": "must be string and is required"

},

"address": {

"bsonType": "string",
"description": "must be string and is required"

},

"location": {

"bsonType": "object",

"required": [

"coordinates"

],

"properties": {

"type": {

"bsonType": "string",

"description": "is optional and the only location type is Point"

},

"coordinates": {

"bsonType": "array",

"description": "2 double values, 1.for longitude and 2.for latitude respectively"

},

"phoneNumber": {

"bsonType": "array",

"description": "must be arrays of string of phoneNumbers"

},

"web_url": {
"bsonType": "string",

"description": "web address of the organization and is optional"

},

"category": {

"bsonType": "string",

"description": "arrays of strings with specified categories"

},

"email": {

"bsonType": "string",

"description": "email address of the organization and is optional"

},

"Photo": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"business_id",

"uploader_id",

"url",

"label"

],
"properties": {

"business_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"uploader_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"url": {

"bsonType": "string",

"description": "must be string and is required"

},

"label": {

"bsonType": "string",

"description": "must be string that describes type of image like:- inside, outside, food"

},

"caption": {

"bsonType": "string",

"description": "must be string that describes something about the image"

}
},

"Review": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"id",

"user_id",

"business_id",

"text",

"date",

"rate"

],

"properties": {

"id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"user_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"business_id": {

"bsonType": "objectId",
"description": "must be ObjectId and is required"

},

"text": {

"bsonType": "string",

"description": "must be string and is required"

},

"date": {

"bsonType": "date",

"description": "must be date of review and is required"

},

"rate": {

"bsonType": "double",

"description": "must be rate of the business"

},

"Bookmark": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"user_id",

"business_id"
],

"properties": {

"user_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"business_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"Menu": {

"$jsonSchema": {

"bsonType": "object",

"required": [

"id",

"name",

"business_id",

"description",

"money"

],
"properties": {

"id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"name": {

"bsonType": "string",

"description": "must be string and is required"

},

"business_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"money": {

"bsonType": "double",

"description": "must be double and is required"

},

"OrderHostory": {

"$jsonSchema": {

"bsonType": "object",
"required": [

"id",

"menu_id",

"user_id",

"ordered_at",

"delivery_location"

],

"properties": {

"id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"menu_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"user_id": {

"bsonType": "objectId",

"description": "must be ObjectId and is required"

},

"ordered_at": {

"bsonType": "date",

"description": ""
},

"delivery_location": {

"bsonType": "object",

"required": [

"coordinates"

],

"properties": {

"type": {

"bsonType": "string",

"description": "is optional and the only location type is Point"

},

"coordinates": {

"bsonType": "array",

"description": "2 double values, 1.for longitude and 2.for latitude respectively"

}
4.3.5 ER Diagram
ER Diagram ER diagrams are related to data structure diagrams, which focus on the relationships
of elements within entities instead of relationships between entities themselves.

Figure 4. 4 Entity relationship diagram


Chapter Five
Implementation and Testing
5.1. Implementation
The system is built by React js for the frontend and Spring Boot for the backend. This is
the basic and main implementation area of the system.
And some code snippets are

Figure 5 1 Admin Operation Snippet


Figure 5 2 Business operation snippet

Figure 5 3 Review Operation snippet


Figure 5 4 User Operation snippet
5.2. Testing

The following are test cases based on the corresponding functionalities of WedetEthio
service locator system.

Test case ID TC_Login_Admin_01


Test Case Name Admin Login
Test Case Description Test the login procedure of admin dashboard
Pre-condition Valid username and password
Test Case Steps 1. Start the dashboard
2. Enter username and password
3. Login
Test Data 1. Check the form filled or not
2. Check the valid username and password
Expected Outcome Successful login and go to homepage
Actual Outcome Successful login and go to homepage
Status PASS
Comments -

Table 5 1 Admin Login test case

Test case ID TC_Login_User_01


Test Case Name Authenticated User Login
Test Case Description Test the login procedure of the users
Pre-condition Valid facebook and google account
Test Case Steps 1. User select its option weather facebook or google
to login
2. Logged in
Test Data -
Expected Outcome Successful login
Actual Outcome Successful login
Status PASS
Comments -

Table 5 2 User Login test case


Test case ID TC_Add_Service_Provider_01
Test Case Name Add Service Provider
Test Case Description Test the process of adding service providers details
Pre-condition Administrative access
Test Case Steps 1. Press add button
2. Fill the form
3. Register to the system
Test Data 1. Check valid form
2. Test availability to avoid the redundancy
Expected Outcome The item rendered to the UI and add to the database
Actual Outcome The item rendered to the UI and add to the database
Status PASS
Comments If the user try to add the same data which is already
added , the system dose not accept

Table 5 3 Add Service Provider Test Case

Test case ID TC_Add_Service_01


Test Case Name Add Service
Test Case Description Test the process of adding the service provided by the
service providers
Pre-condition Administrative level
Test Case Steps 1. Press the add button
2. Fill the form
3. Register to the system
Test Data 1. Check the validity of the form
2. Check the availability of the same data or service
to remove the redundancy
Expected Outcome Data could be added to the database and visible for the
user
Actual Outcome Data could be added to the database and visible for the
user
Status PASS
Comments -

Table 5 4 Add Service Test Case


Test case ID TC_Remove_Service_01
Test Case Name Removing Service
Test Case Description Test the process of removing the service or deleting
service
Pre-condition Administrative level
Test Case Steps 1. Load the services
2. Load service lists
3. Choose items to delete
4. Press the delete button
5. Show up the confirmation “YES” or “NO”
6. User select yes option and then
7. Remove selected service(item)
Test Data ------
Expected Outcome 1. Re-render the service
2. List out the service without removed service
Actual Outcome 1. Re-render the service
2. List out the service without removed service
Status PASS
Comments if the user select “NO” option on the confirmation the
item dose not removed.

Table 5 5 Removing Service Test Case

Test case ID TC_Remove_Service_Provider_01


Test Case Name Removing Service Provider
Test Case Description Test the process of removing the service provider
Pre-condition Administrative level
Test Case Steps 1. Load the service provider
2. List out the provider in table form
3. Choose provider to delete or remove
4. Press the delete button
5. Show up the confirmation “YES” or “NO”
6. User select yes option and then
7. Remove selected item(service provider)
Test Data -
Expected Outcome 1. Re-render the providers list
2. List out the service providers without removed
item
Actual Outcome 1. Re-render the providers list
2. List out the service providers without removed
item
Status PASS
Comments if the user select “NO” option on the confirmation the
item dose not removed.
Table 5 6 Removing the Service provider Test Case

Test case ID TC_Update_Service_Provider_01


Test Case Name Update Service Providers Detail
Test Case Description Test the process of updating the service providers details
Pre-condition Administrative access
Test Case Steps 1. Select the item from the lists
2. Press the update button
3. Display the items detail in the form
4. Edit the form
5. After edit the form, the item is added to the
database
Test Data 1. Check the validity of the form
2. Check the availability of the data in the database
it helps to remove the redundancy of data
Expected Outcome The data could be updated and added to the database
Actual Outcome The data could be updated and added to the database
Status PASS
Comments -

Table 5 7 Update service Provider Test Case

Test case ID TC_Update_Service_01


Test Case Name Update Service
Test Case Description Test the process of updating the service
Pre-condition Administrative access
Test Case Steps 1. Select the item from the lists
2. Press the update button
3. Display or render the service in the Form
4. Edit the rendered form
5. Then add to the database
Test Data 1. Check the validity of the form
2. Check the availability of the data in the database,
it helps to remove the redundancy of data
Expected Outcome The data could be updated and added to the database
Actual Outcome The data could be updated and added to the database
Status PASS
Comments -
Table 5 8 Update Service Test Case

Test case ID TC_Comment_01


Test Case Name Leave Comment
Test Case Description Test the process of while leaving the comment to the
service
Pre-condition Authenticated user
Test Case Steps 1. Under service the comment form will be appear
2. Write the comment on the form
Test Data Test if the form empty or not before done
Expected Outcome Comment could be added to the database
Actual Outcome Comment could be added to the database
Status PASS
Comments If the user dose not write nothing in the form the system
could not accept the comment

Table 5 9 Leave Comment Test Case


122
Appendix
Interview questions that are asked for service providers and users

1. What services do you provide?


2. In what way do you get customer?
3. What different service do provide?
4. Do you have a willingness to use online applications?
5. What features do you want to be included in our app (wedetEthio)?
Referance
[1] Reactjs “What is reactjs ” https://skillcrush.com/2019/05/14/what-is-react-js/#what

[2] “What is Spring Boot” https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-


started

[3] MongoDB Doc, “What is MongoDB?”, retrieved from https://www.mongodb.com/what-ismongodb

[4] Now many people use google map, https://themanifest.com/app-development/popularity-google-


maps-trends-navigation-apps-2018

[5] Review platforms https://www.vendasta.com/blog/top-10-customer-review-websites

[6] What features Google map lacks https://www.quora.com/What-features-does-Google-maps-lack

[7] What is React https://en.wikipedia.org/wiki/React_(web_framework)

[8] What is functional requirement https://en.wikipedia.org/wiki/Functional_requirement

[9] Mongodb schema validation https://docs.mongodb.com/manual/core/schema-validation/

[10] What is Use Case Diagram “https://www.smartdraw.com/use-case-diagram/”

[11] What is Activity Diagram “https://www.tutorialspoint.com/uml/uml_activity_diagram.htm”

[12] What is Behavioral/Dynamic view “https://www.visual-paradigm.com/”

[13] What is Sequence Diagram “https://en.wikipedia.org/wiki/Sequence_diagram”

[14] What is State Diagram “ https://www.geeksforgeeks.org/unified-modeling-language-uml-state-


diagrams/”

[15] What is Class Diagram “https://www.lucidchart.com/pages/uml-class-diagram”

[16] What is Component Diagram “https://www.visual-paradigm.com/guide/uml-unified-modeling-


language/what-is-component-diagram/”

[17] What is Deployment Diagram “https://www.visual-paradigm.com/guide/uml-unified-modeling-


language/what-is-deployment-diagram/”

You might also like