You are on page 1of 41

FOOD ZONE SYSTEM USING COLLABORATIVE

FILTERING TECHNIQUE

SAIDATINA SAFIA BINTI MOHD RUSLAN

BACHELOR OF COMPUTER SCIENCE

(SOFTWARE DEVELOPMENT) WITH HONOURS

UNIVERSITI SULTAN ZAINAL ABIDIN

2020/2021
ABSTRACT

The common problem usually arise among Malaysians is that to choose a place to have

their meal. This is because Malaysia is a country that have a variety kind of foods.

Hence, most of the Malaysians wasting time for too long to decide the place to have

their meal. Food Zone system is a web-based system designed to solve the user problem

in deciding and finding the place to have their meals. This system can also solve the

problem of inaccurate rating of the restaurant. The old way of counting the rating was

inaccurate since there are no different between the current rating and the rating given by

the customer from long time ago. The main purpose of this system is to give the user an

easy way to choose the restaurant where they can have their meal. The user can access

this system through their smartphone and choose the restaurant after they input their

preferred criteria. Food Zone system also provide location of the restaurant and allow

the user to give rating to the restaurant. Moreover, this system also shows the user the

latest news feed and update about the restaurant. The technique that has been used in

the system is Collaborative Filtering. In conclusion, this system will solve the

Malaysians problem of choosing the restaurant to have their meal and will also solve

the inaccurate way of counting the rating.


CONTENTS

PAGE

ABSTRACT i

CONTENTS ii

CHAPTER 1 INTRODUCTION

1.1 Background 1

1.2 Problem Statement 2

1.3 Objective 3

1.4 Scope 4

1.5 Limitation of Work 5

1.6 Expected Result 5

1.7 Gantt Chart 5

CHAPTER 2 LITERATURE REVIEW

2.1 Introduction 6

2.2 Research on Existing System 6

2.2.1 Search Restaurant using Google Maps 6

2.2.2 Trip Advisor Website 7

2.2.3 Jalan-jalan Cari Makan Website 8

2.3 Research on Related Research Techniques 9

2.4 Solution Approach 12

2.4.1 Collaborative Filtering 12

2.5 Algorithm 13
2.5.1 Rating by Average 13

2.5.2 Rating Based by Date 14

2.5.2.1 Calculation for Restaurant A 15

2.5.2.2 Calculation for Restaurant B 15

2.5.2.3 Calculation for Restaurant C 16

CHAPTER 3 METHODOLOGY

3.1 Introduction 17

3.2 Agile Methodology 17

3.2.1 Requirement Phase 18

3.2.2 Design Phase 18

3.2.3 Development Phase 19

3.2.4 Testing Phase 19

3.2.5 Deployment Phase 19

3.2.6 Review Phase 19

3.3 Project Requirement 20

3.3.1 Software Requirement 20

3.3.2 Hardware Requirement 21

3.4 Framework Design 22

3.5 System Design and Modelling 23

3.6 Context Diagram 24

3.7 Data Flow Diagram (DFD) 25

3.7.1 DFD LEVEL 0 25

3.7.2 DFD LEVEL 1 27


3.7.2.1 Manage Restaurant 27

3.7.2.2 Manage Menu 28

3.8 Entities Relationship Diagram (ERD) 29

3.9 Data Dictionary 31

3.9.1 Overall Application 31

3.9.2 Admin 31

3.9.3 Customer 32

3.9.4 Menu 32

3.9.5 Rating 33

3.9.6 Restaurant 33

3.9.7 Restaurant Owner 34

3.10 Summary 35

REFERENCES 36
CHAPTER 1

INTRODUCTION

1.1 Background

Nowadays, mobile phone had been widely use since its first produce on April 3, 1973

by Martin Cooper, a Motorola researcher and executive. Ever since its first produce, many

manufacturer had try to create various design and models of mobile phones such as

Huawei, Samsung and iphone. Furthermore, all of these mobile phones had been

implemented with a lot of features such as messaging, internet surfing, social media and

many more.

A restaurant is usually for a Malaysian to eat and hang out with their friends and

families. Living in a busy life leads to more people choose to eat outside rather than

cooking at home. But, the common problem arise when choosing where to eat. Food Zone

system that can help the users in finding the place to have their meals based on their input

criteria. This system will display the suggested restaurant after the user give the input of

what kind of food they preferred, the user’s budget and whether the user want to go to

nearby or far place. Then, the system will give the user the location of the restaurant. This

system also allow the user to see the rating about the restaurant and the user can also give

rating to the place into the system.


1.2 Problem Statement

There are many restaurant but it is hard to find the most suitable place to eat or hangout

based on their taste, budget, type of food and with a delicious food. Usually, it is sometimes

hard to find a restaurant that can satisfy us.

Malaysian consists a lot of different races. There are Malays, Chinese, Indians and

others. Hence, most of the Malaysian have different kind of taste because there are various

kind of food such as western food, instant food and traditional food. Hence, when they

hangout with one another, it will takes a lot of time to decide which restaurant to eat.

Usually, when someone who are new to that place would have problem to choose which

place to have their meals. Most of them would usually have their meal at the same place

because they does not have confident if the restaurant would satisfy them. By referring to

this system, they can see the review and which place suggested by the locals.

2
1.3 Project Objectives

The objectives of this system are identified as below :

1) To design Food Zone system that helps the user to find restaurants to eat based on

their criteria.

2) To develop Food Zone system that can implement collaborative filtering to the

restaurant.

3) To test the functionality of the Food Zone system whether that system can decide and

give the restaurant location.

3
1.4 Project Scope

The scope of this system are Customer, Admin and Restaurant Owner.

Customer

 Can search the restaurant based on their criteria.

 Can view the restaurant based on the rating given.

 Can give rating to the restaurant after sign in to the system.

Restaurant Owner

 Can add the menu of the restaurant.

 Can delete the menu of the restaurant.

 Can update profile of the restaurant’s owner.

Admin

 Can add new restaurant to the system.

 Can delete restaurant to the system.

 Can update the restaurant which had been closed or opened.

4
1.5 Limitation of Work

This system is only for finding a restaurant purposes. It can be access through a mobile

phone or computer and to access the full function of the system, the mobile data or Wi-Fi

connection is needed.

1.6 Expected Result

The expected result of this project is that the user can find a restaurant where they can have

their meals. The user also can choose the restaurant by give the input of their demanded

type of food, price of food and whether they prefer a far or nearest restaurant. Accurate

rating will be implemented after the user give rating to the restaurant.

1.7 Gantt Chart

Table 1.1 shows gantt chart for the whole process of the proposed system.

Table 1.1 The Gantt Chart

5
CHAPTER 2

LITERATURE REVIEW

2.1 Introduction

This chapter will focused on the research that is directly or indirectly to the project.

This chapter will be important for the development stages of the project. The analysis,

observation, summarising and evaluating of the existing system will be made during this

chapter. Hence, by this information, it can be used to develop a new system that can

provide better function comparing with the existing system.

2.2 Research on Existing System

2.2.1 Search Restaurant using Google Maps

Figure 2.1 shows the research on existing system that search restaurant using google
maps.

6
Figure 2.1 Search Restaurant using Google Maps

Table 2.1 Shows the advantages and disadvantages of the google maps

Description Advantages Disadvantages


This application  Can find the nearest  Cannot choose the
focused on finding restaurant. criteria that we need in
restaurant based on finding the restaurant
their location. such as price or food.

 Can choose the best  Does not provide


restaurant by the rating specific direction.
given.

2.2.2 Trip Advisor Website

Figure 2.2 shows the research on existing system that using trip advisor website.

Figure 2.2 Trip Advisor Website

7
Table 2.2 Shows the advantages and disadvantages of the website

Description Advantages Disadvantages


This website focused on  Find the  The star given still
finding restaurant based restaurant based on count the rating from
on place and food. It criteria. past year.
can find the restaurant
based on criteria chosen  Have review form  Use the rating by
by the user such as and user can give average.
price, place or food. rating.

2.2.3 Jalan-Jalan Cari Makan Website

Figure 2.3 shows the research on existing system that using jalan-jalan cari makan
website.

Figure 2.3 Jalan-Jalan Cari Makan Website

Table 2.3 Shows the advantages and disadvantages of the website

Description Advantages Disadvantages


This website focused on  Show famous  Does not show
finding nearby famous restaurant small restaurant.
restaurant suggest by the suggested by the
locals. Besides, allow the locals.
user to choose their
preferred restaurant based  Can choose the  Limited only to
on their criteria such as restaurant based on famous restaurant.
type of food or price. the criteria.

8
2.3 Research on Related Research Techniques

Table 2.4 Shows a review on related research techniques in recommender system on

Using Tags and Latent Factors in a Food Recommender System.

Table 2.4 Related research techniques in recommender system

No Author Title Method Advantages Output


1 Ge, M., Using Tags and Recommender • User can get • Matrix
Elahi, M., Latent Factors in systems recipe factorization
Fernaández- a Food ingredients method
Tobías, I., Recommender and cooking • Questionnaire
Ricci, F., & System instructions
Massimo, D. • User can rates
(2015, May) and tags
recipes
• User can
choosing the
distinguished
feature of the
recipe that the
user wants to
cook

9
Table 2.5 Shows a review on related research techniques in recommender system on
Collaborative Location and Activity Recommendationswith GPS History Data.

Table 2.5 Related research techniques in collaborative filtering

No Author Title Method Advantages Output

2 Zheng, V. W., Collaborative Collaborative • System can • Collects the


Zheng, Y., Location and Filtering exploits the users’ shop
Xie, X., & Activity user location visiting
Yang, Q. Recommendations histories and histories
(2010, April) with GPS History recommends based on
Data the interesting GPS logs
locations all
round the city
instead of only
nearby
locations
• Can do mining
over the users’
activity
histories (i.e.
GPS logs) and
recommend
what a user
can do on
some location

10
Table 2.6 Shows a review on related research techniques in recommender system on
A Recommendation System for Spots in Location-Based Online Social Networks.

Table 2.6 Shows a review on related research techniques in recommender system

No Author Title Method Advantages Output

3 Berjani, B., A Recommender • System can • Personalized


& Strufe, T. Recommendation System predict the recommende
(2011, System for Spots interest of users r for places
April) in Location-Based in certain spots in location-
Online Social they have not based
Networks visited • OSNs, based
previously. on the check-
• The current ins of the
location of the entire user
user will allow base.
to specify a
maximum
radius in which
spots should be
recommended.

11
2.4 Solution Approach

Solution approach is where we explains about the possible approach that will be choose

in this system. In order to find the solutions, we need to identify the approaches whether

it is capable of implement or not. Thus, the technique that will be use is Collaborative

Filtering.

2.4.1 Collaborative Filtering

Malaysian have different kind of taste because there are various kind of food such as

western food, instant food and traditional food. Usually, it will takes a lot of time to decide

which restaurant to eat because they does not have confident if the restaurant would satisfy

them. Besides, when someone who are new to that place, it will be a problem to choose

which restaurant to have their meals. Therefore, in order to know whether the restaurant

will display the highest recommender restaurant to the user or not, this Food Zone System

applied the Collaborative Filtering technique to solve the problems.

A recommender system based on Collaborative Filtering basically predicts a user's

interest in some item on the basis of the scores generated and the correlation calculated

between the users. It will filter out items that a user might like on the basis of reactions by

similar users. The technique will be implemented in Food Zone System when the customer

give rating to the restaurant based on rating on a scale of 1 to 5, which is define as likes or

dislikes. It will be calculated when all the user have be done give rating to all the restaurant.

After that, Food Zone system will be display what the highest recommender restaurant to

the user by on their rating to the restaurant.

12
2.5 Algorithm

2.5.1 RATING BY AVERAGE

Rating by average

Sum_of_all_ratings
rating_average = ------------------------------------------
Number_of_ratings

Example :

(The current month is April)


Table 3.3 Example calculation of rating based on average
Month Customer Rating

Restaurant A Restaurant B Restaurant C

January Customer 1 5 4 1

February Customer 2 - 4 2

March Customer 3 - 4 5

April Customer 4 - 3 5

Sum of rating 5/1 15/4 13/4

Total average 5 3.75 3.25

Eventhough Restaurant C have an improved rating at current month, the rating is still low
compare to the other restaurant.

13
2.5.2 RATING BASED BY DATE

Month = Month when the rating are given


C = Current month
R = Rating

∑ (M/C)*R
Total = ----------------------------------------
Number of rating

Example :

(The current month is April)


Table 3.4 Example calculation of rating based by date
Month Customer Rating

Restaurant A Restaurant B Restaurant C

January Customer 1 5 4 1

February Customer 2 - 4 2

March Customer 3 - 4 5

April Customer 4 - 3 5

Total rating 1.25 2.25 2.5

14
2.5.2.1 Calculation for Restaurant A

Table 3.5 First calculation of rating based by date


Month Customer Calculation Rating by Rating based by
average date

Restaurant A Restaurant A
rating rating

January Customer 1 (1/4)*5 = 1.25 5 5

February Customer 2 - - -

March Customer 3 - - -

April Customer 4 - - -

Sum of rating 5 1.25

Total average 5 1.25

2.5.2.2 Calculation for Restaurant B

Table 3.6 First calculation of rating based by date


Month Customer Calculation Rating by Rating based by
average date

Restaurant B Restaurant B
rating rating

January Customer 1 (1/4)*4 = 1 4 4

February Customer 2 (2/4)*4 = 2 4 4

March Customer 3 (3/4)*4 = 3 4 4

April Customer 4 (4/4)*3 = 3 3 3

Sum of rating 15/4 9/4

Total average 3.74 2.25

15
2.5.2.3 Calculation for Restaurant C

Table 3.7 First calculation of rating based by date


Month Customer Calculation Rating by Rating based by
average date

Restaurant C Restaurant C
rating rating

January Customer 1 (1/4)*4 = 0.25 1 1

February Customer 2 (2/4)*2 = 1 2 2

March Customer 3 (3/4)*5 = 3.75 5 5

April Customer 4 (4/4)*5 = 5 5 5

Sum of rating 13/4 10/4

Total average 3.25 2.5

16
CHAPTER 3

METHODOLOGY

3.1 Introduction

Methodology is a technique to do research which will provide ways to gather,

categorized and analysis information to come out with a conclusion. It is a systematic ways

to solves the problem and solve them accordingly. There are many types of models that

can be followed for developing the system such as agile model, spiral model, waterfall

model and incremental model. The proposed system use Agile Methodology as a guidance

throughout developing the system.

3.2 Agile Methodology

Agile methodology is used for the development of Food Zone System. Agile

methodology is a type of project management process, mainly used for software

development, where demands and solutions evolve through the collaborative effort of self-

organizing and cross-functional teams and their customers. There are six stages of agile

method that is requirement, design, development, testing, deployment and review phase.

17
Figure 3.1 Figure of agile methodology

3.2.1 Requirement phase

In this phase, the project title had been selected. The project title for the system was

Food Zone System. The Gantt chart also needed as a guideline and references for the

project. In this phase also get all the requirements that are needed to design and develop

the new system. Based on the collection of information through article, method and

technique that is suitable been decided.

3.2.2 Design phase

In the design phase, all the data or requirement obtained during planning and analysis

phase transformed into the design. Diagrams to show the flow of the system will be

develop in this chapter such as Context Diagram (CD), Data Flow Diagram (DFD) Level

0, Entity Relationship Diagram (ERD). These diagrams are designed as a guideline to

developing the system. After that, will be design the database and system interface.

18
3.2.3 Development phase

This phase is where the design will implement into the coding. The system will develop

regarding the user and system requirement. To develop Food Zone System using

Collaborative Filtering the system will be use Xampp server for the database, Visual

Studio Code to code, Bootstrap and PHP language. This phase is a critical phase because

user part needed to be fulfils and to make sure the objectives accomplish.

3.2.4 Testing phase

After development phase has been done, Food Zone System using Collaborative

Filtering is tests in order to check the error and ensure the function run well as a whole

system. Any error or bugs will be fixed and repeated testing the system until all the

function can be use. In this phase, it will test the functionality of the Food Zone system

whether that system can decide and give the restaurant location to the user.

3.2.5 Deployment phase

This phase where the process of the Food Zone System using Collaborative Filtering is

ready to be used by users. The system can be deployed and finally the system will be

publish to the user for use as their need.

3.2.6 Review phase

This phase will get feedback and review form user for the maintenance of Food Zone

System using Collaborative Filtering. Hence, when the system is ready to be used, it will

19
be reviewed whether the system meets the objectives in order to fulfil their needs. In this

phase will follow-up with user to upgrade the system to another version in the future.

3.3 Project requirement

There are two requirement that needed to develop the system that is the software

requirement and hardware requirement. This is important to ensure the development of the

project went well and for future references.

3.3.1 Software requirement

Table 3.1 shows the software requirement for the proposed system.

Table 3.1 Development software requirement


No Software Description
1. XAMPP Server to run localhost

2. Visual Studio Code Used to code the program of the project,


especially connection application to the
database

3 PhpMyAdmin Programming language


4 Bootstrap Framework to develop system

5 Microsoft word 2016 Documentation of application


6 MYSQL For system database
7 Google chrome Browser to run localhost and searching
information

8 Edraw Max 7.9 To design CD, DFD and ERD

20
3.3.2 Hardware requirement

Table 3.2 shows the hardware requirement for the proposed system.

Table 3.2 Development hardware requirement

No Hardware Description
1. Laptop Asus Laptop

2. Processor Intel(R) Pentium(R) CPU B940 @ 2.00


GHz 2.00 GHz

3 Random Access Memory (RAM) 4.00 GB


4 Operating system Windows 10

5 System type 64-bit operating system


6 Pen drive Toshiba 16 GB
7 Smartphone Vivo V9

21
3.4 Framework Design

Figure 3.2 shows the framework of Food Zone System. This design shows the flow of

the process of what the users can do with the system. For the customer, the customer can

search the restaurant and give rating to the restaurant. The customer can also get the

location of the restaurant from the system. Besides, the admin can update the restaurant

and add new restaurant to the system. The restaurant owner also can update the menu of

the restaurant.

Figure 3.2 Framework Design

22
3.5 System Design and Modelling

The process or flow of the system is organized in order to make the development

process easier and smoother. The representation data are called as conceptual data

modelling. It is used to display the data structure. The data modelling process involves the

graphical representation of the functions and also processes in the system before the

development of the system occurs. Based on Food Zone System, the Context Diagram

(CD) and Data Flow Diagram (DFD) shows the physical design of the system while the

Entities Relationship Diagram (ERD) act as the logical design of the system.

23
3.6 Context Diagram

Food Zone System consists of 3 entities which are Admin, Customer, and Restaurant

Owner. Firstly, Admin can add restaurant and update status restaurant into the system. The

customer will be able to search restaurant, give rating to the restaurant and find location of

the restaurant while restaurant owner, they are able to update menu restaurant to the system

and the system will give rating to the restaurant based on customer rating. The context

diagram for the system is shown as Figure 3.3 below.

Figure 3.3 Context Diagram

24
3.7 Data Flow Diagram (DFD)

3.7.1 DFD LEVEL 0

The Data Flow Diagram (DFD) Level 0 shows the main process and functions that occurs

in the system. The DFD for the Food Zone System can be refers from Figure 3.4. This

system used three(3) entities in DFD Level 0 which are Admin, Customer and Restaurant

Owner. There are four(4) total of processes that involved in the system which are login,

manage restaurant, manage menu and give rating. The Admin has two(2) major process

which are login and manage restaurant while the customer has three(3) major process

which are login, manage restaurant and give rating to the restaurant. The restaurant owner

has two(2) major process which are login and manage menu.

25
Figure 3.4 Data Flow Diagram

26
3.7.2 DFD LEVEL 1

Data Flow Diagram (DFD) Level 1 shows details of the process flow that involves in

Food Zone System which are manage restaurant, manage menu and give rating.

3.7.2.1 Manage Restaurant

Figure 3.5 shows the flow for the process of managing restaurant. Admin can add new

restaurant, delete restaurant update restaurant.

Figure 3.5 Data Flow Diagram Level 1 Manage Restaurant

27
3.7.2.2 Manage Menu

Figure 3.6 shows DFD for manage menu. The restaurant owner can add menu, update

menu and delete menu.

Figure 3.6 Data Flow Diagram Level 1 Manage Menu

28
3.8 Entity Relationship Diagram (ERD)

ERD is one of representative diagram that shows the relationship between entities in

the system. For this system, there are six tables within the system which are Admin,

Restaurant Owner, Customer, Restaurant, Rating and Menu. The ERD for Food Zone

System is shown as Figure 3.7 below.

Figure 3.7 Entity Relationship Diagram (ERD)

29
Figure 3.8 Entity Relationship Diagram (ERD) Model

30
3.9 Data Dictionary

A data dictionary is a file that contains a database metadata. It contains records about

the objects in the database such as data relationship and other data. Hence, the database

management system software needs the data dictionary to access the data within the

database.

3.9.1 Overall application

Table 3.8 shows the overall table that be used in the system. The databased is named

with Food Zone. There are six tables in Food Zone database which is admin, customer,

menu, rating, restaurant and restaurant owner.

Table 3.8 Table for overall application

3.9.2 Admin

Table 3.9 shows the table of admin for Food Zone database. This table is used to store

the information for the admin. This table has two attributes which are adminID and

password.

31
Table 3.9 Table for admin

3.9.3 Customer

Table 3.10 shows the table customer for Food Zone database. This table is used to store

the information of the customer. This table has eight attributes which are customerID,

password, customerEmail, customerPhone, region, city, state and poscode.

Table 3.10 Table for customer

3.9.4 Menu

Table 3.11 shows the table menu for Food Zone database. This table is used to store the

information for the menu. This table has six attributes which are menuID, restaurantID,

menuCategories, menuName, menuImage and menuPrice.

Table 3.11 Table for menu

32
3.9.5 Rating

Table 3.12 shows the table rating for Food Zone database. This table is used to store

the information for the rating. This table has six attributes which are ratingID, customerID,

restaurantID, rating, month and year.

Table 3.12 Table for rating

3.9.6 Restaurant

Table 3.13 shows the table restaurant for Food Zone database. This table is used to store

the information for the restaurant. This table has eleven attributes which are restaurantID,

ownerID, menuID, restaurantName, restaurantPhone, restaurantImage, region, city, state,

poscode and realRate.

Table 3.13 Table for restaurant

33
3.9.7 Restaurant Owner

Table 3.14 shows the table restaurant owner for Food Zone database. This table is used

to store the information for the restaurant owner. This table has three attributes which are

ownerID, password and ownerPhone.

Table 3.14 Table for restaurant owner

34
3.10 Summary

In conclusion, methodology is very important to make sure the development of the

system can be done within the exact time given. A good methodology can provide

systematic steps in develop the system so that the system can be develop with minimum

errors and problem. The agile method is used in Food Zone system. System requirement

which is software and hardware requirements are needed in order to achieve this project.

The technical parts of this project is explained more. It includes the explanation of the

context diagram, data flow diagram (DFD), entity-relationship diagram (ERD) and

database design of the system.

35
REFERENCES

1. Ge, M., Elahi, M., Fernaández-Tobías, I., Ricci, F., & Massimo, D. (2015, May).

Using tags and latent factors in a food recommender system. In Proceedings of the 5th

International Conference on Digital Health 2015 (pp. 105-112). ACM.

2. Zheng, V. W., Zheng, Y., Xie, X., & Yang, Q. (2010, April). Collaborative location

and activity recommendations with GPS history data. In Proceedings of the 19th

international conference on World wide web (pp. 1029-1038). ACM.

3. Berjani, B., & Strufe, T. (2011, April). A recommendation system for spots in

location-based online social networks. In Proceedings of the 4th workshop on social

network systems (p. 4). ACM.

4. Li, Q., Wang, C., & Geng, G. (2008, April). Improving personalized services in

mobile commerce by a novel multicriteria rating approach. In Proceedings of the 17th

international conference on World Wide Web (pp. 1235-1236). ACM.

5. Gavalas, D., & Kenteris, M. (2011). A web-based pervasive recommendation system

for mobile tourist guides. Personal and Ubiquitous Computing, 15(7), 759-770.

36

You might also like