ONLINE HOMEMADE FOOD ORDERING SYSTEM
NURUL HUSNA BINTI NAFFI
BACHELOR OF COMPUTER SCIENCE
(INTERNET COMPUTING) WITH HONOURS
UNIVERSITI SULTAN ZAINAL ABIDIN
2018
ONLINE HOMEMADE FOOD ORDERING SYSTEM
NURUL HUSNA BINTI NAFFI
Bachelor of Computer Science (Internet Computing) With Honours
Faculty of Informatics and Computing
Universiti Sultan Zainal Abidin, Terengganu, Malaysia
2018
i
DECLARATION
I declare that this thesis has been composed solely by me and that it has not been
submitted, in whole or in part, in any previous application for a degree. Except where
states otherwise by reference or acknowledgment, the work presented is entirely my
own. I confirm that appropriate credit has been given within this thesis where
reference has been made to the work of others.
________________________________
Name : NURUL HUSNA BINTI NAFFI
Date : ..................................................
ii
CONFIRMATION
This is to confirm that:
The research conducted and the writing of this report was under my supervision.
________________________________
Name : ..................................................
Date : ..................................................
iii
DEDICATION
First of all, thanks to Allah Almighty for giving me strength and provided me with
good health throughout this project. I submit my heartiest gratitude to my beloved
supervisor, Prof Madya Dr Engku Fadzli Hasan Bin Syed Abdullah for finding out
time for me despite his busy schedule, for his kind words and suggestions and also for
his sincere guidance and help for completing this project. I do not think I can ever
repay the debt I owe you. And also a big thanks to friend who have been there,
supporting me whenever I feel down, thank you so much. Last but not least, I would
like to thank my parents, without their prayer and support; none of this would indeed
be possible for me to complete this project.
iv
ABSTRACT
Nowadays people are often eating outside rather than eating at home. Based on the
statistic, the numbers of people eating outside are getting higher from year to year
because they thought eating at restaurant can save their time instead of cooking at
home. That is why many working people, especially those whose have their schedule
packed, tend to go to the restaurant, buying a ready-made food. But for some people,
they find eating at restaurant could cost their money and affect their family’s health
because as we all know, nowadays many health issues related to restaurants often
happened. Because the workers and the manager of the restaurant did not take the
responsibilities of taking care their restaurant cleanliness. Cleanliness is important
when serving food as it might give us harmful side effects of eating dirty foods. One
of the disadvantages of eating outside is, they served unhealthy food. You cannot
know exactly what you are eating. While you can see the meats and vegetables that
are used to prepare your meal, you may not know what ingredients go into the sauces
and seasoning. Also, chefs can make mistakes, and they may accidentally add some
things that they should not into your food. Thus, this system that I called Online
Homemade Food Ordering System will ease all people that live in Besut get to know
the menu available every day because menu change every day. The set of food will be
delivered at the door steps for which they pays through cash-on-delivery or online
banking. The research method for this system will be review article and journal. At the
end of the online homemade food selling system project, it will be very useful and did
a huge contribution for people which are located in Besut.
v
ABSTRAK
Kini orang sering makan di luar daripada makan di rumah. Berdasarkan statistik,
bilangan orang yang makan di luar semakin tinggi dari tahun ke tahun kerana mereka
fikir makan di restoran boleh menjimatkan masa mereka dan bukannya memasak di
rumah. Itulah sebabnya ramai orang yang bekerja, terutama mereka yang mempunyai
jadual mereka makan, cenderung pergi ke restoran, membeli makanan siap sedia.
Tetapi bagi sesetengah orang, mereka mendapati makan di restoran boleh
membebankan wang mereka dan memberi kesan kepada kesihatan keluarga mereka
kerana seperti yang kita semua tahu, kini banyak masalah kesihatan yang berkaitan
dengan restoran sering berlaku. Kerana pekerja dan pengurus restoran tidak
mengambil tanggungjawab menjaga kebersihan restoran mereka. Kebersihan adalah
penting apabila menghidangkan makanan kerana ia mungkin memberikan kesan
sampingan yang berbahaya kepada kita untuk makan makanan kotor. Salah satu
kelemahan makan di luar adalah, mereka berkhidmat makanan yang tidak sihat. Anda
tidak boleh tahu apa yang anda makan. Walaupun anda dapat melihat daging dan
sayur-sayuran yang digunakan untuk menyediakan makanan anda, anda mungkin
tidak tahu apa bahan masuk ke dalam sos dan perasa. Juga, para chef boleh membuat
kesilapan, dan mereka secara tidak sengaja boleh menambah beberapa perkara yang
tidak sepatutnya dimasukkan ke dalam makanan anda. Oleh itu, sistem ini yang saya
panggil Sistem Pemasukan Makanan Homestay Online akan memudahkan semua
orang yang tinggal di Besut mengenali menu yang tersedia setiap hari kerana menu
berubah setiap hari. Set makanan akan dihantar pada langkah pintu yang mereka bayar
melalui penghantaran tunai atau perbankan dalam talian. Kaedah penyelidikan untuk
sistem ini akan dikaji semula artikel dan jurnal. Di penghujung projek jualan sistem
makanan buatan sendiri dalam talian, ia akan menjadi sangat berguna dan memberi
sumbangan besar kepada orang-orang yang terletak di Besut.
vi
CONTENTS
PAGE
DECLARATION i
CONFIRMATION ii
DEDICATION iii
ABSTRACT iv
ABSTRAK v
CONTENTS vi
LIST OF TABLES vii
LIST OF FIGURES xvi
LIST OF ABBREVIATIONS xv
CHAPTER I INTRODUCTION
1.1 Introduction 1
1.2 Problem statement 2
1.3 Objectives 2
1.4
1.5
1.6
1.7
Scopes
Limitation of work
Expected result
Conclusion
3,4
5
5
5
CHAPTER II LITERATURE REVIEW
2.1 Introduction 6
2.2 Analysis of existing system
2.2.1 Smart Ordering System via Bluetooth
2.2.2 Mechanism of Food Ordering in A Restaurant
Using Android Technology
2.2.3 Android Based Intelligent E-Restaurant
Ordering System
7
8
9
2.3 Summaries
10 ,11,12
vii
CHAPTER III
METHODOLOGY
3.1 Introduction 13
3.2 System Development Methodology 14
3.2.1 Planning and Requirement Phase 15
3.2.2 Analysis and Design Phase 15
3.2.3 Implementation Phase 15
3.2.4 Testing and Evaluation Phase
3.2.5 Deployment Phase
16
3.3 System Requirement 17
3.3.1 Hardware Requirement 17
3.3.2 Software Requirement 18
3.4 System Design and Modelling 19
3.4.1 Process Model
3.4.1.1 Context Diagram
3.4.1.2 Data Flow Diagram
19
3.4.2 Data Model
3.4.2.1 Entity Relationship Diagram
20
3.5 3.5.1 Proof of Concept 21-31
3.6 3.6.1 Data Dictionary Table Details
Table User
Table Item
Table Orders
Table Order Details
Table Delivery Guy
32
33
34
35
36
viii
CHAPTER IV
IMPLEMENTATION & TESTING
4.1 Introduction 37
4.2 Implementation 38
4.2.1 Register Page 39
4.2.2 Login Page 40
4.2.3 Admin Page for CRUD 41
4.2.4 Admin Page (View Orders)
4.2.5 Admin Page(Enable, disable and verify
customer)
4.2.6 Customer Registration
4.2.7 Customer Login Page
4.2.8 Customer Order Food
4.2.9 Order Detail for Customer
4.3.0 Estimated Receipt
4.3.1 Order Detail with Receipt
4.3.2 Past Order
4.3.3 User Detail
42
43
4.3 Test Cases
4.3.1 Testing for Customer Registration
4.3.2 Testing for Customer Login
4.3.3 Testing for Staff Login
4.3.4 Testing for Staff (Update menu)
Summary
44
45
46
47
48
49
50
51
52
53
54
55
56
57
ix
LIST OF TABLES
TABLE TITLE PAGE
2.1 Summary of existing system 10
2.2 Summary of existing system 11
2.3 Summary of existing system 12
4.3.1
4.3.2
4.3.3
4.3.4
Testing for Customer Registration
Testing for Customer Login
Testing for Staff Login
Testing for Staff Update Menu
53
54
55
56
CHAPTER V
DISCUSSION AND CONCLUSION
5.1 Introduction 58
5.2
5.3
REFERENCES
Future Work
Conclusion
59
61
60
x
LIST OF FIGURES
FIGURE TITLE PAGE
3.1 Iterative & Incremental Model 10
3.2 Context Diagram 19
3.3 Data Flow Diagram 20
3.4
3.5
3.6
3.7
3.8
3.9
4.0
4.1
4.2
4.3
4.4
4.5
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7
4.2.8
4.2.9
4.3.0
4.3.1
4.3.2
4.3.3
Entity Relationship Diagram
Webpage
Register page (Customer)
Login Page (Staff, Customer ,Delivery guy)
Menu Today Page (Customer)
Team Page
Update Menu (Staff)
Edit Menu (Staff)
Shopping bag page
Delivery guy page (Customer)
Delete Food Menus (Staff)
Contact page
Register page (Customer)
Login Page
Admin Page (CRUD)
Admin Page (View Order)
Admin Page (enable,disable,verify)
Customer Registration
Customer Login Page
Customer Order Food
Order Detail (Customer)
Estimated Receipt
Order Detail with Receipt
Past Orders
User Details
21
22
23
24
25
26
27
28
29
30
31
32
39
40
41
42
43
44
45
46
47
48
49
50
51
xi
LIST OF ABBREVIATIONS / TERMS / SYMBOLS
CD Context Diagram
DFD Data Flow Diagram
ERD Entity Relationship Diagram
FYP Final year project
xii
LIST OF APPENDICES
APPENDIX TITLE PAGE
A Appendix 1-Gantt Chart FYP1 61
B Appendix 2-Gantt Chart FYP2 62
1
CHAPTER I
INTRODUCTION
1.1 Background
Online Homemade Food Selling System is the way which people that lives in Besut area to
order healthy homemade food to their doorstep or self-pickup. We are a team that consist of
head cook, assistant cook and staff that handle the website order. We also hired delivery guy
to deliver food to customer.
This online ordering system is proposed to do online for people because we want to increase
the use of website and also want to ease people that working every day and tired to cook after
the working time. This system also proposed for old people that live alone. Their children just
have to order at our website even from far.
This system use Iterative and incremental development for methodology approach.
2
1.2 Problem Statement
1. Saves customer’s time
Women nowadays have their own career so they have erratic work schedules making it
impossible to cook for their family. So this online homemade food system will ease them
because they just have to order online from their home without have to go out to restaurant.
2. Saves your money
With the economy in a recession, people nowadays just order homemade food because it is
cheaper than going to a restaurant or buying pre-cooked meals besides home cooked meals
ensure healthy and delicious meals. When we eat at a restaurant, we pay for not only food,
but also for the restaurant’s service which are electric bills and also staffs.
.
1.2 OBJECTIVES
1) To implement the food ordering on a system
2) To design and develop a system that can help people save their time but can get
healthy food at the same time
3) To test and evaluate the functionality of the system
.
1.3 PROJECT SCOPE
OHFSS will be used by 3 main actors which are customer, staffs and delivery guy.
3
Customer
1. Customers have to register and log in to update their information.
2. Customers can choose their meal from the menu
3. Customer can choose to pick up or delivery in front of the door but they have to pay
cash on delivery only.
4. Customer can review their order before confirming their order.
Staff
1. Staffs have to login as staff every time they want to login.
2. Staff will be able to add or update food menus every day to attract customer’s
attention.
3. Staff will also be able to delete the menus if there occurs any change.
4. Staffs have to update the orders from customer to delivery persons in charge.
5. Staffs will alter menu options to keep the foodies hooked.
6. Staffs have to allow the customer to browse the upcoming menu options along with
current day menu.
4
Delivery guy
1. Delivery guy have to login as delivery person in charge.
2. Having part time delivery guy who deliver meals to customers.
3. Delivery guy get the order list from the customer every time admin update the order
status.
5
1.3 LIMITATION OF WORK
Limitation of works is the constraints that I faced while completing this project:
1. Can only be used in web based application
2. Limited time to complete this project in a short semester
1.4 EXPECTED RESULT
This system would be helpful to people that live area Besut that want to order
homemade food
1.5 CONCLUSION
As a conclusion, chapter 1 explains about overview of this system, problem statements,
objectives, scope of this project, limitation of work and expected results
6
CHAPTER 2
LITERATURE REVIEW
2.1 INRODUCTION
As we know, the review of the literature is important because it identifies the methods
used in previous research on the topic and also provides comparisons for your
own research findings. To have a further understanding about Online Homemade
Food Ordering System, a few researches on existing system were made.
2.2 ANALYSIS OF THE EXISTING SYSTEM
To study our next generation of applications, we will look for the strengths and
weakness of the application. We will analyse the existing applications, for which we
carefully selected 3 articles. Every application or website serves the user. We analyse
the user's satisfaction with these applications or websites. We also hope to study the
strengths and weaknesses in depth and make suggestions for improvement
7
2.2.1) Smart Ordering System via Bluetooth
A paper entitled Smart Ordering System via Bluetooth by N. M. Z. Hashim, N. A. Ali, A. S.
Jaafar, N. R. Mohamad, L. Salahuddin, and N. A. Ishak that has been published on 2013.
This research states that solve the problems which are faced by the restaurant’s entrepreneur
in the attempt to organize the restaurant more efficiently skilled and capable. The project will
reduce time to be spent on making the orders and paying the bills, whereby the cost and man
power also can be optimized.
METHODS:
The methodology used will be divided into two parts as system design and system process
flow. In system design, the operation of the whole system can be seen through the block
diagram. Keypad is used as the input and LCD display is used as the output for the system
design. The system uses a small keyboard which is placed on each customer table to make an
order. Customer need to press the menu by using the keypad for making an order. The
completed order will be transmitted to counter or kitchen with Bluetooth communication.
Finally the information will be displayed at the LCD display.
In system process flow, the system uses a small keyboard which is placed on each table for
the customer to make orders. Firstly, customer needed to choose their menu. Order is made
by key in the menu code on the small keyboard. This code comes together with the menu.
Then, the code is decrypted by a microcontroller. The microcontroller later transmits the data
via Bluetooth transmitter. The microcontroller will continuously receive data via Bluetooth
receiver module. The data is processed by the microcontroller when it received signal from
Bluetooth communication. The processed data is to be sent to the kitchen computer for
ordering purpose, and to the counter computer for billing process. This system will be done
after the customer completed their orders.
From this research, this project will be able to solve the lack number of the worker, reduce
the lateness and the error on ordering foods by the customers. The limitation of this system is
that user cannot use this smart ordering system via Bluetooth if the hardware and software is
not working and functioning synchronously.
8
2.2.2) Mechanism of Food Ordering in A Restaurant Using Android Technology
From the research titled Mechanism of Food Ordering in a Restaurant Using Android
Technology that has been written and researched by Rachmat Auli, Ahmad Zaki, Haida
Dafitri, Dodi Siregar, and Hasdiana in 2017, they state that this research aims to explain how
to implement an application that can be used to make the food order in the restaurant
digitally. The purpose of this research is to make simple the processing of the food order as
well as speed up the ordering meals that generally use a paper and pen changed to be
Android's application.
METHODS:
The methodology which used in this system is SDLC (software development life cycle).
SDLC is the process stages used to develop an information system has a goal to explain the
activities related to project management .The steps will give information to analyst and
programmer how the system's works.
From this research, this will be able to make simple the processing of the food order as well
as speed up the ordering meals that generally use a paper and pen changed to be Android's
application and also can reduce the level of errors that occur in the kitchen at the time of
processing the consumer's order.. The limitation of this system is that in this system, order
data can be sent through a wireless network which connects tablets/smartphones with the
kitchen's computer, but network connection sometimes can be less stable.
9
2.2.3) Android Based Intelligent E-Restaurant Ordering System
From the research titled Android Based Intelligent E-Restaurant Ordering System that has
been written and researched by Ketaki S. Raut and Mr. S. B. Dhonde in May 2016, they
state that this research aims to explain how the system works. This system will replacing pen-
paper which is used by waiter to take an order. In this Intelligent Restaurant a Graphical User
Interface (GUI) programmed by embedded c is used as a food ordering system. It is requiring
customer to order via LCD device that placed on each table in the restaurant. Customers view
the menu, price and make an order directly using this touch screen system. Then, their order
will be sent to the database in cash counter computer and also viewed on the computer screen
at the kitchen for food preparation.
METHODS:
Android app is designed using B4A software and customer can give order from this
application once installed on android phone. Helps in reducing pitfalls due to traditional
restaurant system. It is more efficient than systems built on communication through
Bluetooth and less costly than ZigBee, etc. The limitation of the system is when all system in
this project involves mobile devices, it will reduce the job opportunities such as waiters..
10
No. Title/Author/Year Methodology Remarks
1 Smart Ordering System
via Bluetooth
N. M. Z. Hashim,
N. A. Ali, A. S.
Jaafar, N. R.
Mohamad, L.
Salahuddin, and
N. A. Ishak
2013
Divided into two parts as system
design and system process flow.
In system design
In system design, the
operation of the whole
system can be seen
through the block diagram In system process flow, the
system uses a small
keyboard which is placed
on each table for the
customer to make orders
Advantage:
able to solve
the lack number
of the worker,
reduce the
lateness and the
error on
ordering foods
by the cusomers
Disadvantage:
User cannot use
this smart
ordering system
via Bluetooth if
the hardware
and software is
not working
and functioning
synchronously.
2 Mechanism of Food
Ordering in A Restaurant
Using Android
Technology
Rachmat Auli,
Ahmad Zaki,
Haida Dafitri,
Dodi Siregar, and
Hasdiana
2017
SDLC (software
development life cycle).
SDLC is the process stages
used to develop an
information system has a
goal to explain the
activities related to project
management
ADVANTAGE:
able to make
simple the
processing of
the food order
as well as speed
up the ordering
meals that
generally use a
paper and pen
changed to be
Android's
application and
also can reduce
the level of
errors that
occur in the
kitchen at the
time of
processing the
consumer's
order
11
DISADVANTAGE:
order data can
be sent through
a wireless
network which
connects
tablets/smartph
ones with the
kitchen's
computer, but
network
connection
sometimes can
be less stable
3 Android Based Intelligent
E-Restaurant Ordering
System
Ketaki S.Raut and
Mr.S. B. Dhonde May 2016
Android app is designed
using B4A software and
customer can give order
from this application once
installed on android phone
ADVANTAGE:
Helps in
reducing
pitfalls due to
traditional
restaurant
system. It is
more efficient
than systems
built on
communication
through
Bluetooth and
less costly than
ZigBee, etc.
DISADVANTAGE:
When all system in this
project involves mobile
devices, it will reduce
the job opportunities
such as waiters.
12
CHAPTER 3
METHODOLOGY
3.1 INTRODUCTION
A project methodology is used in order to achieve golas and a planned results
within a defined schedule. Whether you choose Waterfall, Iterative, Agile or
some other methodology, how well you adhere to the Software Development
Methodologyy can effectively determine the success or failure of a project
and/or company. One system development methodology is not necessarily
suitable for use by all projects.
13
3.2 SYSTEM DEVELOPMENT METHODOLOGY
The development of the system will follow System Development Life Cycle (SDLC) to
transform a newly-developed project into an operational one that can be used by end user.
Online Homemade Food Ordering System will use iterative and incremental model as the
methodology approach. Iterative and incremental development is any combination of
both iterative design or iterative method and incremental build model for software
development. This development were created because of the inefficiencies and problems
found in waterfall model
Figure 3.1 Iterative and Incremental Models
14
3.2.1 Planning & Requirements Phase
In this phase, as with most any development project, the first step is going through an
initial planning stage which includes planning and requirements. In planning phase, we have
to confirm the title of project and the details of the project. The purpose of planning is to find
out the scope of the problem and determine solutions. The problem statement, objectives,
project scope and expected result are also discussed with the supervisor. Feasibility study has
been done to get more info about how successfully a project can be completed.
For requirement phase, this phase is to study and analyse the existing system. Besides
analysing the existing system, interview with some people about homemade food delivery
system also helped in determining the system requirements.
3.2.2 Analysis & Design Phase
During this phase, process model such as context diagram or data flow diagram and data
model which are entity relationship diagram or class diagram are designed for the system to
accomplish the objectives.
3.2.3 Implementation Phase
This phase is when the majority of the codes for the system is written. Developer writes
codes based on the previous phase. This online homemade food selling system will build
using PHP language and MySQL as the database platform. User interfaces are also included
in this phase as they are important in delivering information and messages to the user.
15
1.1.1 Testing & Evaluation Phase
Testing phase
Once this current build iteration has been coded and implemented, the next step is to go
through a series of testing procedures to identify and locate any potential bugs or issues that
have cropped up.
Evaluation phase
Once all prior stages have been completed, it is time for a thorough evaluation of
development up to this stage. This allows the entire team, as well as clients or other outside
parties, to examine where the project is at, where it needs to be, what can or should change,
and so on.
1.1.2 Deployment phase
In the last phase, Online Homemade Food Ordering System will be presented and delivered
to the end user.
16
1.2 SYSTEM REQUIREMENT
1.2.1 Hardware Requirements
Laptop Lenovo Windows 10
Laptop Lenovo was used while doing this project to develop this system with Apache
Server, MySQL, with RAM 4.0GB, 64xbits operating system, and writes report using
Microsoft Office.
HP deskjet ink advantage 2135 all-in-one printer
Hardware that is used to print the hard copy of information and report of this system.
Apacer AC235 (AP1TBAC235P-1) 1TB USB 3.0 External Hard Drive
Portable storage device that can be attached to a computer through a USB to back up
all the data, coding and report.
17
1.2.2 SOFTWARE REQUIREMENTS
Xampp Server, MySQL version 3.2.1
Xampp was used as localhost to create database
PHP Hypertext Preprocessor
PHP was used as programming language in this system
Notepad++
Text editor and source code editor used as a platform in this system
UniSZA Hotspot
Internet connection used to search additional information about this system
ClickCharts Diagram Flowchart Software
Feature packed diagram flowchart application that allows to construct almost any
type of flow chart or diagram
MySQL Workbench 6.3.10
Used to import table from MySQL database to design the real ERD
Microsoft Office
Software used to write report and slide for presentation
18
SYSTEM DESIGN AND MODELLING
3.4.1 PROCESS MODEL
3.4.1.1 CONTEXT DIAGRAM
Figure 3.2 Context Diagram
Context diagram in figure above show the data flow for the Online Homemade Food Selling
System. There are three main actors which are staff, customer and delivery person. The
context diagram shows the overall function of the system. All the customer need to be login
as a basic step of using this system.
19
3.4.1.2 Data Flow Diagram
Figure 3.3 Data Flow Diagram
Data flow diagram (DFD) maps out the flow of information for any process or system. They
can be used to analyse an existing system or model a new one. Through the DFD shown
below, figure 3.3 shows the whole system. There are 8 processes in these systems which are
Customer registration and login, Choose meal from Menu, Provide Suggestion, Delivery
Person Login, Manage (update), Staff Login, Manage and Generate Report. Every process of
the system will interact with their related table or data store in the databases in order to
complete the process.
20
3.4.1 DATA MODEL
3.4.2.1 ENTITY RELATIONSHIP DIAGRAM
Figure 3.4 Entity Relationship Diagram
Figure 3.4 above shows the Entity Relationship Diagram for Online Homemade Food Selling
System. An entity-relationship diagram (ERD) is a data modelling technique that graphically
illustrates an information system's entities and the relationships between those entities. An
ERD is a conceptual and representational model of data used to represent the entity
framework infrastructure. ERD have 4 different components which are entities, relationships,
attributes and cardinalities. The entities are a person, object, place or event for which data is
collected. Customer, staff and delivery person are three examples of entities in the ERD
shown above. The relationship is the interaction between entities. For example, customer
place order. The word ‘place’ defines the relationship between that instance of customer and
order. The attributed are the characteristic of an entity. For example, customers have five
attributes which are customer_id, customer_email, customer_phone, customer_address and
customer_name.
21
PROOF OF CONCEPT
Figure 3.5 Home page
Customer will be shown to this web page after they enter the Online Homemade Food
Ordering System. This web page has 6 buttons which are Home, Delivery Guy, Login/Sign
up, Menus, Team and Contact.
22
Figure 3.6 Register page for customer and delivery guy
Before placing an order, customers have to register as a member first because our ordering
system only for member. Customer also can sign up using social media such as Facebook or
Google. They required to fill in their email, password and confirm their password for
security. If they already a member, they just have to click the “Log in” button.
Delivery guy also have to sign up to register as a delivery guy in charge.
23
Figure 3.7 Login page for staff, customer and delivery guy
To order homemade food, customers have to log in after register as a member. Customer also
can log in via social media like Facebook and Google.
24
.
Figure 3.8 Menu today page
In this page, food menu will be displayed for the customer to choose. Name, price and image
of the menu will be displayed too. If customers tend to choose a menu, they just have to click
at the image and they can look healthy information such as calories, proteins of the food.
25
Figure 3.9 Team page
This page shows the team for online homemade food selling system. Customer can check the
information about head cook and others.
26
Figure 4.0 Update Menu Page (Staff)
Staff can update menus because menus change everyday
27
Figure 4.1 Contact page for customer
Contact page for customer is a page that contains location of the house that owns this system
for customer pick up their food, telephone number and email.
28
Figure 4.2 Edit menu (staff)
Staff can edit menu if there occur any changes
29
Figure 4.3 Shopping bag for customer
Customer can choose the food menus that they like and the order will go into the
shopping bag. If customer wants to continue buy homemade food, they can click the
“Continue shopping” or if they want to cancel the order, they can click “Clear bag”
30
Figure 4.4 Delete food menus for staff
Staff can delete food menus at the end of the day because menus tomorrow will change.
31
Figure 4.5 Delivery guy page for customer
To deliver homemade food, we hired two delivery guys. Customer cannot choose but the
system will choose the delivery guy that will deliver their food. Their name, type of vehicle,
plate number and telephone number also displayed for customer.
32
Data Dictionary Table Details
1. Table User
NO
ATTRIBUTE
DESCRIPTION TYPE KEY
LENGTH
1 ID ‘ID’ represents the
identification number
of the registered user of
the system.It will be
used to verify their
authorization to the
system.
e.g : ‘ID’ in the system
is 1,2 and so on.
Integer Primary
Key
Extra :
Auto
increment
11
2 Role ‘Role’ represent type of
user which can be
divided into 2 which are
customer and admin
Varchar - 15
3 Name ‘Name’ represent name
of the customer that
they filled when register
their account
Varchar - 15
4 Username ‘Username’ represent
the name that appeared
in the system after they
login into the system
Varchar - 10
5 Password ‘Password’ represent
the key to allowed
authorized users to
login into the
system.Password that
saved into the Table
User is not in the
encrypted-form.
Varchar - 16
6 Email ‘Email’ represents the
email address of the
customer
Varchar - 35
7 Address ‘Address’ represents the
address of customer for
delivery purpose
Varchar - 300
8 Contact ‘Contact’ represent the
telephone number of
customer for contact.
BigInt - 11
33
2. Table Item
NO ATTRIBUTE DESCRIPTION TYPE KEY LENGTH
1 ID ‘ID’ represent the unique
identification number.
Integer Primary
Key
Extra:Auto
increment
11
2 NAME ‘Name’ represent the food
name filled by the admin
Varchar - 20
3 PRICE ‘Price’ represent the food
price filled by the admin
Integer - 11
4 PICTURE ‘Picture’ represent the food
picture’
Varchar - 255
34
3.Table Orders
NO ATTRIBUTE DESCRIPTION TYPE KEY LENGTH
1 CUSTOMER_ID ‘CustomerID’ represent
the unique identification
number
Integer Primary
Key
11
2 ADDRESS ‘Address’ represents the
address of customer for
delivery purpose
Varchar - 300
3 DESCRIPTION ‘Description’ represent
customer describe the food
Varchar - 300
4 DATE ‘Date’ represent the date of
customer ordering the food.
Datetime - -
5 PAYMENT_TYPE ‘Payment_type’ represent
the type of payment made
by customer whether cash
on delivery and wallet
Varchar - 16
6 TOTAL ‘Total’ represent the total
price of the food ordered by
customer
Integer - 11
7 STATUS ‘Status’ represent status of
the food ordered whether
cancelled,paused,delivered
or yet to be delivered
Varchar - 25
35
4. Table order_details
NO ATTRIBUTE DESCRIPTION TYPE KEY LENGTH
1 ID ‘ID’ represent the unique
identification number
Integer Primary
Key
Extra:
Auto
increment
11
2 ORDER_ID ‘Order_ID’ represents the
unique identification
number for order
Integer - 11
3 ITEM_ID ‘Item_ID’ represent the
unique identification
number for item
Integer - 11
4 QUANTITY ‘Quantity’ represent the
quantity of food ordered by
customer
Integer - 11
5 PRICE ‘Price’ represent the price
showed to the customer
Integer - 11
36
5. Table Delivery Guy
NO ATTRIBUTE DESCRIPTION TYPE KEY LENGTH
1 ID ‘ID’ represent the unique
identification number
Integer Primary
Key
10
2 Username ‘Username’ represents the
full name of the delivery
guy
Varchar - 30
3 Password ‘Password’ represent the
key to allowed authorized
users to login into the
system.
Password that saved into
the Table Delivery Guy is
not in the encrypted-form
Varchar - 10
37
CHAPTER 4
IMPLEMENTATION AND TESTING
4.1 Introduction
The implementation phase is known as code generation phase. This phase involve a real
system development based on system design that has been planned earlier. This system
consists of two parts of implementation which is system for customer and system for admin.
System for customer includes login, register, update, view and delete using web based
system. PHP language is used to execute all these function. While for interface, HTML and
CSS will be used.
38
4.2 Implementation
System implementation is the process of defining how the information system should be built
like the physical system design and as well as ensuring that the information system is
operational and used. At the same time, the system develop must meets the quality standard
and to fulfil the human computer interaction. In addition, interface design produced should be
based on user requirements and compatible with the present.
39
4.2.1 Register Page
Figure 4.2.1 shows the interface of the register page for customer because customer is the
only entities that have to register before they can login into the system. For staff and delivery
guy, they do not have to register. Customers have to register by filling the form with
username, name, password and phone number.
Figure 4.2.1 Register page for customer
40
4.2.2 Login page
Figure 4.4.2 Login page for customer and staff
Figure 4.2.2 shows the login interface for both entities which are customer and staff. The
customer and admin have to enter their username and password.
41
4.2.3 Admin page for CRUD
When admin login into the system, they will redirect to admin page which they can add, edit
or remove menu every day. They also can choose whether a menu is available or not
available. Admin can add food menu by filling food name, price and add food image.
Figure 4.2.3 Admin page
42
4.2.4 Admin page that can view all orders
Admin can view all orders from customer and they can change the food status whether they
are delivered, yet to be delivered or cancelled by customer. When admin get an update from
delivery guy that the foods are being delivered, admin have to change status to ‘Delivered’.
Figure 4.2.4 Admin page (View Orders)
43
4.2.5 Admin page that can enable, disable or verify customer
Admin can view list of users that are registered in this system. Admin also can add user
Figure 4.2.5 Admin page (enable, disable or verify customer)
44
Figure 4.2.6 Customer Registration
Customers have to register first before login into the system. They required to fill username,
name, password and telephone number. Except for admin and delivery guy, customers have
to register.
Figure 4.2.6 Customer Registration
45
4.2.7 Customer login page
Customer login into the system using username and password that they registered before.
Figure 4.2.7 Customer login before start ordering
46
4.2.8 Customer Order Food
After login into the system, customer will redirect to order food page. They have to fill in the
quantity of food that they want to order. After finish ordering, they have to submit the order
by clicking Order button.
Figure 4.2.8 Order Food Page
47
4.2.9 Order Detail for Customer
After customer finishes order their food, system will provide order details for them.
Customers have to choose the payment type whether Cash on Delivery or Wallet which is
online banking. If they choose Wallet, they have to fill the card number and CVV number
and if they choose Cash on Delivery, they do not have to fill it.
Figure 4.2.9 Order Detail for Customer
48
4.3.0 Estimated Receipt
System will provide estimated receipt which contain customer’s name, contact number, their
order, quantity and total price to ease customer
Figure 4.3.0 Estimated Receipt
49
4.3.1 Order Details with Receipt
Customer will provided with order details with receipt that contain their name, contact
number, address, payment type and total price. After checking the details, customer can
proceed the order by clicking ‘Confirm Order’.
Figure 4.3.1 Order Details with Receipt
50
4.3.2 Past Orders
After confirming the order, customers get to see their past and latest order.
Figure 4.3.2 Past order
51
4.3.3 User Details
Customer can edit their details which are required for delivery and contact. User details are
very important if customer carelessly filled their details wrong because delivery guy will use
the details for delivery purpose.
Figure 4.3.3 User Details
52
4.3 Test Cases
At test cases, in software engineering, is a set of conditions under which a tester will
determine whether an application, software system or one of its features is working as it
originally established for it to do. This mechanism is for determining whether a software
program or system has passed or failed such as test. There are four types test cases involve in
this system. Firstly, test cases are focused on the testing for customer registration process.
Second, the test cases are referred on the testing for customer login. Next, test cases for staff
which is staff login and lastly staff update food menu.
53
4.3.1 Testing for Customer Registration
Table 4.8.1 shows the testing case procedure comes out with the expected result according to
each steps. Testing for customer registration is the first testing which is the customer need to
register first before proceeds to another task.
Step Test Procedure Expected Result
1. Go to http://localhost/food-ordering-system/login.php Login form loading
2. Clicking ‘Sign-up now!’ button at the bottom form Registration form loading
3. Enter Username
4. Enter Name
5. Enter Password
6. Enter Phone Number
7. Clicking ‘REGISTER’ button at the bottom form -Login form loading
-Enter username and
password registered.
Table 4.3.1: Testing for Customer Registration
54
4.3.2 Testing for Customer Login
Table 4.8.2 shows the testing case procedure comes out with the expected result according to
each steps. Testing for customer login is the second testing which is the customer need to
register first before login.
4.3.2 Testing for Customer Login
Step Test Procedure Expected Result
1. Go to http://localhost/food-ordering-system/login.php Login form loading
2. Enter Username and password System check username and
password
3. Click on Login button Ordering page for customer
will appear
4. Wrong username and password
5. Click on Login button Login failed
Wrong username and
password
Login page loaded
55
4.3.3 Testing for Staff Login
Table 4.4.3 shows the testing case procedure comes out with the expected result according to
each steps. Testing for staff login is the third testing which is the staff need to login first
before proceed to another task.
.
Table 4.3.3 Testing for Staff Login
Step Test Procedure Expected Result
1. Go to http://localhost/food-ordering-system/login.php Login form loading
2. Enter Username and password System check username and
password
3. Click on Login button Ordering page for customer
will appear
4. Wrong username and password
5. Click on Login button Login failed
Wrong username and
password
Login page loaded
56
4.3.4 Testing for staff update food menu
Table 4.8.3 shows the testing case procedure comes out with the expected result according to
each steps. Testing for staff updated the food menu is the testing where the staffs need to
updated a new data.
Table 4.3.4 Testing for staff update food menu
Step Test Procedure Expected Result
1. Click ‘Food Menu’ from breadcrumb List of food menu appear
2. Enter an update details at any field The new details can be filled in
3. Click on Modify button The new detail will appear at food
menu list
4. Add food menu by fill the food name, price and
add food image.
The new detail will appear at food
menu list
57
Chapter summary
This chapter briefly explained about implementation of coding and testing of the system. In
order to make the system more robust and functioning properly, all test cases is test carefully
to make sure the intended result. The result of the tests carried out roughly where all input
and output of the system view has the explanation behind. Besides, the main process and
modules flow is discussed. The system functionally had been tested and evaluated.
58
CHAPTER 5
DISCUSSION AND CONCLUSION
5.1 Introduction
This chapter discuss on future works and conclusion.
59
5.2 Future Work
Every developer has the aims to improve their system in future when they explore more
knowledge and new technologies. For this web system, the future work that comes from my
idea which is customer can choose whether they want they want to pick up the food
themselves or delivered by delivery guy. Customer also can recognize their delivery guy
because right after they finish ordering food, the system will appear a pop up that show their
delivery guy with plate number and contact number.
5.3 Conclusion
This system provide a service to help people that live in Besut that are so busy with work and
have no time to cook. Hopefully, this system will give a benefit to the users.
REFERENCES
60
Shweta Shashikant Tanpure, Priyanka R. Shidankar and Madhura M. Joshi. , February
2013. Automated Food Ordering System with Real-Time Customer Feedback.
International Journal of Advanced Research in Computer Science and Software
Engineering 3:220-225.
Kamarudin, Khairunnisa and Johari, Ayob and Wahab, Mohd Helmy Abd and Ayob,
Mohd Erdi and Ayob, M. Izwan and Ayob, M. Afif, 2009. The application of wireless
food ordering system. MASAUM Journal of Computing, 1 (2). pp. 178-184.
N. M. Z. Hashim, N. A. Ali, A. S. Jaafar , N. R. Mohamad, L. Salahuddin, N. A.
Ishak.. 2013. Smart Ordering System via Bluetooth. International Journal of
Computer Trends and Technology (IJCTT), 4:2253-2256
Prof V. B. Dhore, Surabhi Thakar, Prajakta Kulkarni, Rasika Thorat, October 2014.
Digital Table Booking and Food Ordering System Using Android Application.
International Journal of Emerging Engineering Research and Technology. Volume 2,
Issue 7 PP 76-81
Appendix 1
61
Gantt chart FYP1
62
Appendix 2
Gantt chart FYP 2