Online Catering System With Price Sorting Algorithm
Online Catering System With Price Sorting Algorithm
2018
ONLINE CATERING SYSTEM
MAY 2018
DECLARATION
I hereby declare that this report is based on my original work except for quotations
and citations, which have been duly acknowledged. I also declare that it has not been
previously or concurrently submitted for any other degree at Universiti Sultan Zainal
Abidin or other institutions.
________________________________
Name : ..................................................
Date : ..................................................
i
CONFIRMATION
________________________________
Name : ..................................................
Date : ..................................................
ii
DEDICATION
This Final Year Project report could not have been conducted without the support,
encouragement and cooperation of many people. First and foremost, I have to thank
my parents for their love and support throughout my life. Thank you both for giving me
strength to reach for the stars and chase my dreams. Then, I would like to sincerely
thank my project adviser, Encik Muhammad Sufian b Mat Deris, for his guidance and
support throughout this study and specially for his confidence in me. I would like to
thank him for giving the opportunity to learn and work under his guidance. Also thank
to all my lecturers, which has been teaching me which guide me to make this project
possible.
In addition, to all my friends, thank you for your understanding and encouragement in
many, many moments of crisis. Their engorgement, criticism and support help me a
lot. Your friendship makes my life a wonderful experience. I cannot list all the
Thank You.
iii
ABSTRACT
This project is a web-based system and uses price sorting algorithm techniques as an
academic value. This system serves as a medium for customers to book the food from
the restaurants, cafes and catering companies. Regarding to the problems faced in
society today are for them to find affordable catering companies and meet their
satisfaction in terms of price and choice of the food. In this system, they can make price
comparisons between some catering companies and order food online. Then, the
objective of this system is to facilitate customers to choose and compare food prices for
each catering company. Next objectives are to make it easier for customers to book
online. Finally, companies can expand the market via online using this system.
Customer can login to system to see the food and prices offered by catering company.
Besides, catering company can advertise their stores within the system by registering as
a company. Customers can choose the desired food and can pay half the price first as a
deposit. And confirmation and response will be answered by the catering company
within the stipulated time.
At the end of this project, I hope the system will help the community and
business company to be more advanced and convenient.
iv
ABSTRAK
Projek ini adalah sistem berasaskan web dan menggunakan teknik algoritma sorting
harga sebagai nilai akademik. Sistem ini berfungsi sebagai medium untuk pelanggan
menempah makanan dari restoran, kafe dan syarikat katering. Berkenaan dengan
masalah yang dihadapi dalam masyarakat hari ini adalah untuk mereka mencari
syarikat katering yang berpatutan dan memenuhi kepuasan mereka dari segi harga dan
pilihan makanan. Dalam sistem ini, mereka boleh membuat perbandingan harga antara
beberapa syarikat katering dan memesan makanan dalam talian. Kemudian, objektif
sistem ini adalah untuk memudahkan pelanggan memilih dan membandingkan harga
makanan bagi setiap syarikat katering. Objektif seterusnya adalah untuk memudahkan
pelanggan membuat tempahan dalam talian. Akhirnya, syarikat boleh mengembangkan
pasaran melalui talian menggunakan sistem ini. Pelanggan boleh log masuk ke sistem
untuk melihat makanan dan harga yang ditawarkan oleh syarikat katering. Selain itu,
syarikat katering boleh mengiklankan kedai mereka dalam sistem dengan mendaftar
sebagai sebuah syarikat. Pelanggan boleh memilih makanan yang dikehendaki dan
boleh membayar separuh harga pertama sebagai deposit. Dan pengesahan dan tindak
balas akan dijawab oleh syarikat katering dalam masa yang ditetapkan.
Pada akhir projek ini, saya harap sistem ini akan membantu komuniti dan syarikat
perniagaan menjadi lebih maju dan mudah.
v
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF TABLES viii
LIST OF FIGURES ix
LIST OF ABBREVIATIONS x
CHAPTER I INTRODUCTION
1.0 Project Background 1
1.1 Problem statement 2
1.2 Objectives 3
1.3 Scope 3
1.4 Thesis Structure 4
vi
3.2 System Requirement 13
3.3 System Framework 14
3.4 System Design
3.4.1 Entity Relationship Diagram (ERD) 15
3.4.2 Context Diagram 16
3.4.3 Data Flow Diagram Level 0 17
3.4.4 Data Flow Diagram( DFD) Level 1
3.4.4.1 DFD Level 1 Process 2.0 : Profile 19
3.4.4.2 DFD Level 1 Process 3.0 : Menu 20
3.4.4.3 DFD Level 1 Process 4.0 : Order 21
3.4.4.4 DFD Level 1 Process 5.0 : Payment 22
3.5 Database Design
3.5.1 Admin 23
3.5.2 Caterer 24
3.5.3 Customer 24
3.5.4 Menu 25
3.5.5 Order 25
3.5.6 Payment 26
3.6 Summary 26
4.0 Introduction 27
4.1 Interfaces 27
4.1.1 Admin 28
4.1.2 Caterer 30
4.1.3 Customer 33
vii
4.2 Testing
4.3 Summary 40
CHAPTER V CONCLUSION
5.0 Introduction 41
5.1 Contribution 41
5.4 Summary 42
REFERENCES 43
viii
LIST OF TABLES
ix
LIST OF FIGURES
x
LIST OF ABBREVIATIONS / TERMS / SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final year project
GA Genetic algorithm
HCI Human computer interface
UniSZA Universiti Sultan Zainal Abidi
xi
CHAPTER I
INTRODUCTION
Today, most café or catering company in societies are still using a manual
method system to make the food order process on a large quantity. When using a manual
system, many obstacle and disadvantages in term of interaction or communication
between community and organization or catering company. Therefore, difficulty
happen for both side owner of café and customer in commitment make an order process
or other services that occur by using manual method. So, this idea to develop web-based
system is based on problem statement that has been found which are difficult for
customer to find price of catering and catering company to get a booking and expand
their business. This system serves as a medium for customers to book the food from the
catering company. Hopefully, this system will help all communities in every business.
1
1.1 Problem Statement
Basically, there are few problems encourage to the idea of developing Final Year
Project, Online Catering System:
i. Customer hard to make comparison between Catering company.
It is difficult for customers to differentiate the food price and find affordable catering
companies and meet their satisfaction in terms of price and choice of the food because
distance between catering company to another company is very far. They also need to
contact one by one to know price.
ii. Inconsistency in data entry
Data here shows customer orders and payment errors. In the manual system, this
problem often happens. Order can be redundant and the catering company may overlook
the order that has been made. Customers also have trouble when receive the balance,
which is inaccurate.
iii. Reporting and checking the data issue in manual system
In manual system is difficult to trace the record for the cafe and student. For instance,
all the data such as order that has being made by student are difficult for cafe to trace it
back. This is because manual system is using paper to record the data. Same goes to
student where it’s difficult to check what has being ordered and to check the amount
that has being spends
2
1.2 Objective
1.3 Scope
Catering Reservation Online System develop will use by admin, student and cafe owner.
I. Admin
• Admin can view list customer
• Admin approve register and approve catering company owner.
II. Customer
• View profile
• Purchase order and view order status
• Can choose cafe to make an order and view menu and price
III. Cafe owner
• Manage their profile and cafe profile
• Manage order
• Update food menu and price
3
1.4 Thesis Structure
This thesis consists of five chapters. Chapter 1 is introduced that contains project
background, problem statement, objectives, scope and thesis structure. Chapter 2 is a
literature review, discuss the technique and theory that had been carried out by another
researcher and existing computer application that related to the ongoing project. Chapter
3 is a methodology that discusses method or technique used in the project also design
and framework, specifying in detail the design of development projects. Chapter 4 is
the implementation of the project and the report of testing that had been done to the
development system. Chapter 5 is the conclusion of the overall project followed by
references.
4
CHAPTER II
LITERATURE REVIEW
2.0 Introduction
This chapter provides the literature review for the system that will be developed.
The literature review is a process of reading, analysing, evaluating and summarizing
scholarly materials about a specific topic. It can be a guideline to develop a new system
so that the new system can provide better or more functional than existing systems.
Discussion including the existing system and comparison between current systems with
new develop system is done to overcome the weakness of the current system.
Based on studies that have been done in the cafe in the Unisza, owner cafe and
student still used manual system in transaction or purchase. As a result, is found obstacle
or problem occour toward cafe owner and student. Based on manual system, all of
management food ordering been conducted directly and food ordering owner cafe still
use paper to take an order.
5
2.1 Existing System
To develop a successful online system for book food that is studied based on
online restaurant food ordering. The business flow of this 2-major system is collected
based on information gathered by visiting the website of this system.
Online Food Order System is a website designed primarily for use in the food delivery
industry. This system will allow hotels and restaurant to increase scope of business by
reducing the labour cost involved. The system also allows to quickly and easily
managing an online menu which customers can browse and use to place orders.
Restaurant Employees then go through the orders s they are received and process all
orders efficiently and efficiently with minimal delays and confusion. The languages
used to build this application are JavaScript, JSP, HTML and Oracle as the database.
The main purpose of this system is to automate the food ordering process in restaurant
and also improve the dining experience of customers. In this research it is also has
discussed about the design and implementation of automated food ordering system with
real time customer feedback (AOS RTF) for restaurant. This system, implementation
wireless data access to server. The android application on user’s mobile will have all
the menu details. The order details from customer’s mobile are wirelessly updated in
central database and subsequently sent to kitchen and cashier respectively. The
restaurant owner can manage the menu modifications easily. The wireless application
on mobile devices provide a means of convenience, improving efficiency and accuracy
for restaurant by saving time, reducing human errors and real-time customers feedback.
This system successfully over comes the drawbacks in earlier PDA based food ordering
system and is less expensive and more effective than the multi-touchable restaurant
management systems.
6
2.1.3 Mobile Food Ordering Application using android OS Platform
The main purpose of this system is making an ordering food application based
on Android with many features. For instances, New Order, Order History, Restaurant
Profile, Order Status, Tracking Order, and Setting Profile features. The research method
used in this research is water model of System Development Life Cycle (SDLC)
method. The result of this research is an ordering food application based on Android for
customers and courier user, and a website for restaurant and admin user. The conclusion
of this research is to help customer in making order easily, to give detail information
needed by customer, to help restaurant in receiving order and to help courier while doing
delivery. The apps interfaces are being design with detail by implement the Eight
Golden Rules. The Eight Golden Rules are consisting of consistency, provide universal
usability, provide information feedback, design final dialog, simple error handling,
reversal action allowance, internal locus of control and reduce the information capacity
for short-term memory.
7
2.2 Comparison between the Existing System
Mayurkumar Online -To increase scope of -Built using -Should allow -Hardware
Patel,2005 Food Order business by reducing PHP users to save limitations.
for the labour cost inscribed in items to the cart.
Restaurant involved. HTML -No transaction
payment.
-Allows to quickly and
easily managing an
online menu which
customer can browse
and use to place orders.
Shweta Automated -To automate the food -A website -Real time -No transaction.
Shashikant Food ordering process in for restaurant customers
Tanpure, Ordering restaurant and also feedback.
Priyanka R. System with improve the dining
Shidankar, Real-Time experience of -Ordering food
Madhura M. Customer customers. application based
Joshi, 2013 Feedback on Android for
-Automated food customer.
ordering system with
real time customer
feedback (AOS-RTF)
for restaurant.
8
2.3 Summary
9
CHAPTER III
METHODOLOGY
3.0 Introduction
This chapter will explain the detail on methodology will be used in this project. Project
methodology will solve every problem that arises in system analysis to ensure that the
project is completed and works well. There are many methods that can be used and
implied to build this system. The approach used must be chosen correctly so that it
suitable in with the development of this project. The step of development is important
as it will be the indicator and the assist to the developer and designer during the
developing process. Further information on each phase of the Online Catering System
will be described in this chapter.
10
3.1 Methodology Review
Figure 1 shows about Throwaway Prototyping model flow that used to develop this
project. This model consists of 4 main phase which are planning, analysis, design and
implementation. In this model, the proses of developing will start with planning then
analysis all data requirement. After that, design of prototyping and lastly the
implementation phase to produce system after the prototype is satisfied.
11
Planning Phase
Planning is the first thing to do. There are many plans to do such as project time
planning, proposal planning and to decide which methodology will be used for this
system. So, the Online Catering System has been proposed to my supervisor, Mr.
Muhammad Sufian. Once the tittle has been agreed, an abstract has been made by the
discussion.
Analysis Phase
In this stage, the primary purpose is to collect any existing information to be analysed.
All requirements collected on this system need to be fully understood and analysed to
make the next process goes well. This phase also includes a researching phase. After all
requirement is collected, the problem statement and solution must be determined.
Design Phase
In this third stage, the design will be created included the flow of system and database
design. The Context Diagram, Data Flow Diagram (DFD) and Entity Relationship
Diagram were done in order to know more details about the flow and each function of
this project. The simple interface also will be made during this stage as interface
prototype.
Implementation
In this phase, there are two stages of implementation which are in prototype phase and
the final product phase. In the first stage, the function and procedure for this system will
develop to fulfil the requirement. In this project the language that will be used to develop
the project is Php and SQL. After the implementing during the prototype phase has been
fully satisfied the project will be implementing at the final stage where the final product
will be delivered.
12
3.2 System Requirement
Software Requirement
No Software Purpose
Hardware Requirement
No Hardware Purpose
-1 unit system.
-1 unit
-1 unit
13
3.3 System Framework
Figure 3.3. above show the framework for the online catering system. In order
to use this system, the admin, caterer and customer need to login the system first.
After succeeding authenticates the identification, all user can proceed with the next
step of process provided.
Admin can view the profile of customer and caterer after being verify. Admin
also have role to approve registration for caterer. Furthermore, after the customer enter
the system, they can start to make an order by viewing the menu list provided by the
caterer. Next, the caterer role is to manage list of menus and manage order that has
been made by customers. The sorting algorithm will have occurred during the
customer search the list of menus. This algorithm will help customers to do a quick
search based on criteria that they want.
14
3.4 System Design
Figure 3.4.1 above show the ERD for Online Catering System. This system
contains 6 tables for database which Admin, Customer, Caterer, Menu, Order and
payment or deposit. Each table have their own attribute. There are 3 attributes in table
admin, 5 attributes in table customer, 7 attributes in table menu, 4 attributes in table
caterer, 8 attributes in table order, and 6 attributes in table payment. All data inserted
will save in those tables in the database.
15
3.4.2 Context Diagram
Figure 3.4.2 above shows that Context diagram (CD) for Online Catering
System. There are three main users involve in this system which are admin, customer
and caterer. All users are required to login the system in order to use this system.
Customer can view menu and compare the item price then make the reservation. Caterer
can manage their profile included menu and also have to manage the order of food.
Lastly admin can see all customer and caterer profile. Admin also need to approve the
registration from caterer. There are 26 flows involve in the proses between primal
process and the users.
16
3.4.3 Data Flow Diagram Level 0
17
Figure 3.4.3 above show that DFD Level 0 for Online catering System which
represent in the graphical flow data for the system. In DFD, process connect with an
entity and database store which allows data flow from an external data source or in
internal data source. This system has 6 database store which are D1 for customer that
store data about customer details, D2 for caterer that store data for caterer details, D3
for menu that stores data for menu information provided to the customers, D4 for order
that store data for order details that has been made, D5 for payment that store the data
of payment such receipt of money transfer, D6 for admin that store admin data.
There are 7 processes included in this data flow diagram, which are login, get menu,
manage menu, order placement, manage order, Pay, and view. There is one process that
are not show in the DFD which is approve. Admin approves registration for caterer.
18
3.4.4 Data Flow Diagram( DFD) Level 1
Figure 3.4.4.1 above show that DFD Level 1 for process 2 which is profile. This
process involves all 3 users admin, customer and caterer. For customer, this process
let the customer and caterer to view and update their profile display. Admin also can
update caterer and customers profile in case they want to reset password. Admin can
view all data profile for caterer and customers. When customer and caterer update
their profile data, all data will be stored in database respectively.
19
3.4.4.2 DFD Level 1 Process 3.0 : Menu
Figure 3.4.4.2 above show that DFD Level 1 for process 3 which is Menu. Firstly,
caterer can Add their Menu and this menu data will be stored in menu database. Then
the menu can be display to caterer and customer. Besides, caterer also can delete the
menu later. After menu has been add by caterer, customers can look for menu and can
use sorting process to make quick search. So Sorting algorithm will be apply at this
process.
20
3.4.4.3 DFD Level 1 Process 4.0 : Order
Figure 3.4.4.3 above shows the DFD Level 1 for process 4 which is order. This
process involves two users which are customers and caterer. The process 4 begin after
customer has view the menu which is in process 3, the customer will make an order.
This order information will be stored in order database. Then after order done, it will
show amount of total price. After payment has been made in process 5, the order will
be display to caterer and order will be manage by caterer.
21
3.4.4.4 DFD Level 1 Process 5.0 : Payment
Figure 3.4.4.4 above shows that DFD Level 1 for process 5 which is payment. This
process involves two users which are customers and caterer. After order has been
choose, customer will upload receipt and fill the details for the payment to accomplish
the payment process. The payments details will be stored in payment database. Caterer
can download the receipt and confirm the status of the payment. Customer also can
view the payment that has been made.
22
3.5 Database Design
Figure 3.5 shows the overall table that be used in this system. The database is name
with ocs, Online Catering System. There are 6 tables in ocs database which are admin
table, caterer table, customer table, mennu table, order table and payment table.
3.5.1 Admin
Figure 3.5.1 shows the table admin for online catering system. This table is used
to store username and password for admin. This table has three fields which are
username as primary key, and password.
23
3.5.2 Caterer
Figure 3.5.2 shows the table caterer for online catering system. This table is
used to store information for the caterer. This table has 10 fields which are username
as primary key, owner_icno, fullname, company_name, Password, Phoneno, address,
postcode, city and state.
3.5.3 Customer
Figure 3.5.3 shows the table customer for online catering system. This table is
used to store customer information. This table has 10 fields which are username as
primary key, password, fullname, phoneno, icon, address. postcode, city, state.
24
3.5.4 Menu
Figure 3.5.4 shows the table menu for online catering system. This table is
used to store menu information from caterer. This table has 9 fields which are menuid
as primary key, username, menu_img, foodname, category, price description, quantity
and status.
3.5.5 Order
Figure 3.5.5 shows the table order for online catering system. This table is
used to store order information from customer. This table has 8 fields which are
orderid as primary key, catererid, customerid, time, date, menuid, totalprice and
quantity.
25
3.5.6 Payment
Figure 3.5.6 shows the table payment for online catering system. This table is
used to store payment information from customer. This table has 5 fields which are
paymentid as primary key, orderid, catererid, date and totalamount.
3.6 Summary
Based on this chapter, the methodology used for the project was elaborated.
The system requirements that were used are also stated. Choosing a methodology to
be used for a system development is a crucial pad in ensuring that the development
starts off at a great pace.
26
CHAPTER IV
4.0 Introduction
This chapter will describe and show the development of online system. It
consists of three of implementation which are for admin, caterer and customer. In this
system Admin can view and delete caterer and customer that has been registered.
Other than that, caterer can view and update their profile, can add, view and update
their menu details and handle order from customer. Last but not least, customer can
view and update their profile, view menu and make order.
4.1 Interfaces
Figure 4.1 shows that login page for three main users which is Admin, Caterer
and Customer. All these three-user use usernames as login name and password. All
user will login in the same page. Password for caterer and customer can be update at
the user profile.
27
4.1.1 Admin
Figure 4.1.1.1 shows that the admin Home Page. This page will be first page
admin will see after successful login. There are 4 main buttons provide which is
Home, Customer, Caterer, and Log out.
Figure 4.1.1.2 show that a page for a customer detail. Admin can view list of
customers and delete the customer when needed. There are one button for admin to
delete the customer.
28
Figure 4.1.1.3 Admin Caterer View
Figure 4.1.1.3 show that a page for a caterer detail. Admin can view list of
caterers and delete the caterer when needed. There is one button for admin to delete
the caterer.
29
4.1.2 Caterer
Figure 4.1.2.1 show that a page for registration for caterer. Caterer must
register in this form for the new users. So, they can login as usual at the login page.
Figure 4.1.2.2 shows that the caterer Home Page. This will be first page caterer
will see after successful login. There are 4 main buttons provide which is Home,
Menu, Order, and Log out. In addition, caterer can click at the full name at the right
top to see their profile.
30
Figure 4.1.2.3 Caterer Profile
Figure 4.1.2.3 show that a page for a profile caterer. Caterer can view their
profile and update the data of the profile. There is one button at this page to update
their profile.
Figure 4.1.2.4 show that a page for a caterer menu. On this page, caterer can
see the menu that has been add from them. There are 2 main action buttons for caterer
which are update button and delete button.
31
Figure 4.1.2.5 Caterer Add Menu
. Figure 4.1.2.5 show that a page for add menu. Caterer has to fill menu details
such as picture, food name, category, price, status and description. There is one button
add to add menu.
32
4.1.3 Customer
Figure 4.1.3.1 show that a page for registration for customer. Customer must
register in this form for the new users. So, they can login as usual at the login page.
Figure 4.1.3.2 shows that the customer Home Page. This will be first page
customer will see after successful login. There are 4 main buttons provide which is
Home, Menu, Cart, and Log out. In addition, customer can click at the full name at the
right top to see their profile.
33
Figure 4.1.3.3 Profile Customer
Figure 4.1.3.3 show that a page for a profile customer. Customer can view
their profile and update the data of the profile. There is one button at this page to
update their profile.
Figure 4.1.3.4 shows a customer page to view menu. This page will show all
menu that have been add from caterer. There are add to cart button for customer to
add menu to wish list before checkout.
34
Figure 4.1.3.4 Customer Cart
Figure 4.1.3.4 shows a cart page for customer. Customer will see details for
shopping list in this page. There are 2 action buttons to update quantity of food and
remove food from cart. Then, customer can choose to continue shopping or checkout
on button at the bottom.
Figure 4.1.3.5 shows that a page for checkout. Customer have to fill this order
form to complete the reservation.
35
4.2 Testing
Basic Flow 1. The first page that user will see in this system is “Login”
page.
36
4.2.2 White-box Testing
37
4.2.2.2 Update Menu
38
4.2.2.3 Delete Menu
39
4.3 Summary
In conclusion, system design and modelling have showed all the progress, data
how and data stored that involves in this system. Through the diagrams, so user can
discuss on how the flow of the system is going on.
40
CHAPTER V
CONCLUSION
5 Introduction
5.1 Contribution
41
5.3 Future of Work
5.4 Summary
As a conclusion, this Online Catering system aimed to help the customer and
caterer in helping them to create, manage and update their order systematically
compared with using the manual method by place the order on paper. So, the main
user in this system is Admin, Caterer and Customer. The methodology that has been
used while developing the system is Throwaway Prototyping model. Other than that,
Data Flow Diagram (DFD) and Entity Relationship Diagram (ERD) also included in
this report to explain more details about the functionalities of this system. Hopefully,
this system will be useful to all customer and caterer that will be using this Online
Catering system.
42
REFERENCES
[1] Mayakumar Patel, “Online Food Order System for Restaurant”, December 2015.
[3] Kamble Poonam, Kapase Priya, Kokare Snehal & Poonam Balu Ingale,
“Self-Served Food Ordering system”, Vol-2, Issue-5, 2016.
[4] Engku Muhammad Syuhada Bin Raja Omar," Food Court Ordering System Using
Mobile Application (FooCOSUMA)" JUNE 2012.
43