Online Food Ordering System
Online Food Ordering System
Chapter 1: Introduction.............................................................................................................1
1.1Objectives........................................................................................................................2
1.2Problem Statement:.........................................................................................................2
Functional Requirements......................................................................................................3
0........................................................................................................................................8
3.1 Introduction..................................................................................................................14
3.5 ER Diagram..................................................................................................................18
Chapter 4: Coding...................................................................................................................19
4.1 Model............................................................................................................................19
4.2 Header..............................................................................................................................27
4.3Signup................................................................................................................................31
CHAPTER 5: TESTING..............................................................................................................34
5.1 Introduction..................................................................................................................34
Chapter 7: Conclusion.............................................................................................................43
7.2 Limitations....................................................................................................................43
REFERENCE.............................................................................................................................45
Chapter 1: Introduction
Food ordering system is an application which will help restaurant to optimize and
control over their restaurants. For the waiters, it is making life easier because they
don’t have to go kitchen and give the orders to chef easily. For the management point
of view, the manager will able to control the restaurant by having all the reports to
hand and able to see the records of each employees and order. In today’s age of fast
food and take-out, many restaurants have chosen to focus on quick preparation and
speedy delivery of orders rather than offering a rich dining experience. Until very
recently, all of these delivery orders were placed over the phone, but there are many
disadvantages to this system. First, the customer must have a physical copy of the
restaurant’s menu to look at while placing their order and this menu must be up to -
The orders are placed using strictly oral communication, which makes it far
more difficult for the customer to receive immediate feedback on the order they have
placed. This often leads to confusion and incorrect orders. The current system is also
inconvenient for the restaurant itself, as they must either have a dedicated staff
member to answer the phone and take orders, or some employees must perform
Menu, complete with all available options and dynamically adjusting prices
based on the selected options. After making a selection, the item is then added to their
order, which the customer can review the details of at any time before checking out.
This provides instant visual confirmation of what was selected and ensures that items
1
1.1Objectives
The application helps the restaurant to do all functionalities more accurately and faster
way. This application is helping food ordering to maintain the stock and cash flows
To store records.
Billing
Control staff
1.2Problem Statement:
Many restaurant is storing all of their data in manual way. They have hug number of
customers daily. So because large number of customers, they need the help of some
features so they can maintain and stores the record accurately. For managers it is
difficult to view the tables. Orders, kitchen, reception and the counter simultaneously.
They need to full-fledged software to maintain their day by day transaction, orders
and also regular update on records, cash transaction, daily staff reports, customer
feedback etc. In the existing system, entering all the details are done manually. It is
talking many lots of time and also there are chances for mistake.
2
Chapter 2: Requirements of the analysis of the system
The structure of the system can be divided into three main logical components.
The first component must provide some form of menu management, allowing the
restaurant to control what can be ordered by customers. The second component is the
web ordering system and provides the functionality for customers to place their order
and supply all necessary details. The third and final logical component is the order
retrieval system. Used by the restaurant to keep track of all orders which have been
placed, this component takes care of retrieving and displaying order information, as
Menu
Management
Restaurant
Employee
Functional Requirements
As can be seen in the system model diagramed above, each of the three system
components essentially provides a layer of isolation between the end user and the
database. The motivation behind this isolation is twofold. Firstly, allowing the end
user to interact with the system through a rich interface provide a much more
enjoyable user experience, particularly for the non-technical users which will account
for the majority of the system’s users. In addition, this isolation layer also protects the
integrity of the database by preventing users from taking any action outside those
which the system is designed to handle. Because of this design pattern, it is essential
to enumerate exactly which functions a user will be presented and these functions are
outlined below, grouped by component.
3
2.1 Feasibility Analysis
Feasibility of a new system means ensuring that the new system, which we
are going to implement, is efficient and affordable. There are various types
of feasibility to be determined. They are:
It is cost effective in the sense that has eliminated the paper work
completely. The system is also time effective because the renting system
are easy to handle.
4
Install all upgrades framework into the package supported widows based
application. This application depends on Microsoft office and intranet
service, database.
specially designed software may be used, particularly when performing stress testing.
system with an increasing number of HTTP requests and then measure response times
and see at what point things begin to break down. We also will be using the Firefox
performing unit tests on each component, assuring that it works properly before
introducing it into the rest of the system, but we plan on beginning rigorous testing of
the system starting in the first week of December. We will begin by putting the
5
system through its normal paces as a normal user would be expected to. We will test
the entire functionality of the system, but will do so following the normal logical
Once we are happy with how the system performs for normal use cases (which
hopefully will be completed), we will move on to testing the exceptional use cases.
These are the use cases that would never be encountered by the average user, but,
whether through confusion or malice, may come up. Two examples would be adding
credential.
Hardware Details:
1 GHz CPU
512 MB RAM
300 MB disk space
Software Details:
performed against time. It is also known as visual presentation of a project where the
activities are broken down and displayed on a chart which makes it is easy to
Task/Date 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 09/ 0
10 11 12 13 14 06 07 08 09 10 11 12 13 14 15 1
Requirement
Analysis
Design Phase
Software
Development
System Testing
Documentation
and Presentation
Reports
8
2.4 The Web Ordering System
Users of the web ordering system, namely restaurant customers, must be
Create an account.
Place an order.
As the goal of the system is to make the process of placing an order as simple
as possible for the customer, the functionality provided through the web ordering
system is restricted to that which most pertinent to accomplish the desired task. All of
the functions outlined above, with the exceptions of account creation and
and will, as the name suggests, allow them to manage the menu that is displayed to
9
users of the web ordering system. The functions afforded by the menu management
system provide user with the ability to, using a graphical interface:
Update additional information (description, photo, etc.) for a given food item.
Mark an order as having been processed and remove it from the list of active
orders.
series of simple forms. Each category of food has its own form associated with it
which presents a drop down menu for choosing which specific item from the category
10
should be added to the order, and a series of check boxes and radio buttons for
accomplished by a single button click. Users select which category of food they
would like to order, and therefore which form should be displayed, by navigating a
Entering delivery and payment deals is done in a similar manner. The user is
presented with a form and must complete the required fields, which include both drop
down and text boxes, before checking out and receiving a confirmation number. One
thing worth noting here is that whenever possible drop down boxes and buttons were
used over freeform input in order to both simplify the ordering process and reduce the
the standard for a web application, the non-functional requirements of the system are
very straightforward. Although written using Google Web Toolkit, the application is
cross-compiled to HTML and JavaScript, along with a PHP backend, all of which are
PostgreSQL server must also be installed on the host computer. As with Apache2, this
software is freely available and can be installed and run under most operating
systems.
The server hardware can be any computer capable of running both the web
and database servers and handling the expected traffic. For a restaurant that is not
11
expecting to see much web traffic, or possibly doing only a limited test run, an
average personal computer may be appropriate. Once the site starts generating more
hits, though, it will likely be necessary to upgrade to a dedicated host to ensure proper
performance. The exact cutoffs will need to be determined through a more thorough
the database. In fact, the system could be completely operational using nothing but the
database and an appropriate shell utility, assuming that all users are well-versed in
SQL and enjoy using it to order food. While this would be a bit extreme, it does
illustrate the point that the one part of the system which will stay relatively constant is
the database. On the other hand, it is very probable that the other components will
continue to evolve with time. For example, with the booming popularity of mobile
applications, we would really like to make the web interface available as a phone
application as well. Also it may make sense to at some point migrate the menu
management and order retrieval systems to web, or even mobile, applications as well,
We are also certain that if this system goes into actual use, many requests will
arise for additional features which had not previously considered, but would be useful
to have. For this reason, we feel as though the application can be constantly evolving,
12
13
CHAPTER 3: SYSTEM DESIGN
3.1 Introduction
System design is the process of designing the elements of a system such as the
architecture, modules and components, the different interfaces of those components
and the data that goes through that system.
System Analysis is the process that decomposes a system into its component pieces
for the purpose of defining how well those components interact to accomplish the set
requirements.
The purpose of the System Design process is to provide sufficient detailed data and
information about the system and its system elements to enable the implementation
consistent with architectural entities as defined in models and views of the system
architecture.
14
MVC Pattern
The View presents the model’s data to the user. The view can only be used to
access the model’s data. They are the components that display the application’s
user interface (UI).
The flowchart shows the steps as boxes of various kinds, and their order by
connecting the boxes with arrows. This diagrammatic representation illustrates a
solution model to a given problem. Flowcharts are used in analyzing, designing,
documenting or managing a process or program in various fields.
15
start
Customer
place order
order request
system confirms the receipt of orders
yes
confirm Order
yes
dispatch order
stop
Supplier
Manager
17
3.4 Level 1: Data flow Diagram
Receipt
Customer Kitchen
0
customer order Food order
Food ordering
System
Management
Reports
Restaurent
manager
Figure DFD
3.5 ER Diagram
Entities
Relationships
Attributes
18
Password
pid
view id
pname
Email
price
User products mst
fname
image
have
have
ccv
quantity card
order mst payment
have
price bank
pid
oid
email email
Chapter 4: Coding
4.1 Model
<?php
function db_connect() {
$db['host'] = "localhost";
$db['username'] = "root";
$db['password'] = "";
$db['db_name'] = "oxford";
19
// Check connection
if ($conn->connect_error) {
return $conn;
$conn = db_connect();
$result = $stmt->execute();
if ($result) {
$stmt->close();
$conn->close();
return $result;
} else {
$stmt->close();
$conn->close();
return false;
20
function signup_new_employer($name, $job, $email,
$passwordmd5, $address, $phone, $create_date) {
$conn = db_connect();
$result = $stmt->execute();
if ($result) {
$stmt->close();
$conn->close();
return $result;
} else {
$stmt->close();
$conn->close();
return false;
function find_user_by_email($email) {
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
return $result;
} else {
21
return false;
function find_employer_by_email($email) {
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
return $result;
} else {
return false;
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
return $row;
} else {
return false;
22
}
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
return $row;
} else {
return false;
$conn = db_connect();
$result = $stmt->execute();
if ($result) {
$stmt->close();
23
$conn->close();
return $result;
} else {
$stmt->close();
$conn->close();
return false;
function allproducts() {
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
return $result;
} else {
return false;
function deleteproductby_id($fid) {
$conn = db_connect();
$conn->query($sql);
if ($conn->affected_rows > 0) {
24
$conn->close();
return TRUE;
} else {
$conn->close();
return false;
function product_byid($fid) {
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
return $result;
} else {
return false;
$conn = db_connect();
25
, Quantity='$Quantity', Pdescription='Pdescription',
img='$target', Qsold='$Qsold' where PID='$pid' ");
$result = $stmt->execute();
if ($result) {
$stmt->close();
$conn->close();
return $result;
} else {
$stmt->close();
$conn->close();
return false;
function product_bytype($ftype) {
$conn = db_connect();
$result = $conn->query($sql);
$conn->close();
if ($result->num_rows > 0) {
return $result;
} else {
return false;
26
4.2 Header
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Pacifico&display=swap"
rel="stylesheet">
<link href="https://fonts.googleapis.com/css?
family=Bree+Serif&display=swap" rel="stylesheet">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
>
27
</head>
<section class="fnavbar">
<div class="navbar-fixed">
<nav>
<div class="nav-wrapper">
<?php
if(empty($_SESSION['user']['login'])){ ?>
<?php
}else{
?>
28
</ul>
<?php
?>
</ul>
</div>
</nav>
</div>
</ul>
</section>
<form method="post">
29
<label for="<?php echo $key; ?>"><?php echo ucfirst($key); ?></label>
<input type="text" name="<?php echo $key; ?>" id="<?php echo $key; ?>"
value="<?php echo escape($value); ?>" <?php echo ($key === 'id' ? 'readonly' : null);
?> >
<?php
else:
endif;
?>
</form>
</html>
4.3Login
<?php
include 'header.php';
?>
<div class="login-page">
30
<h1>User Login Form</h1>
<div class="form">
</form>
</div>
</div>
</body>
</html>
4.3Signup
<?php
include 'header.php';
?>
31
<!-- main -->
<div class="main-agileinfo">
<div class="agileits-top">
32
<div class="wthree-text">
<label class="anim">
</label>
</div>
</form>
</div>
<div class="colorlibcopy-agile">
</div>
<ul class="colorlib-bubbles">
<li></li>
<li></li>
<li></li>
<li></li>
33
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html>
CHAPTER 5: TESTING
5.1 Introduction
Once source code has been generated, application must be tested to uncover (and
correct) as many errors as possible before delivery to customer. Our goal is to design
a series of test cases that have a high likelihood of finding errors. To uncover the
errors software techniques are used. These techniques provide systematic guidance for
designing test that
To design any product or software a lot of expenses are incurred so it’s critical
for an application or product to give positive results to avoid any unwanted or
sudden expenses.
34
To consolidate your position in the market the product performance should be
really good and durable. This kind of certainty can only be achieved by proper
testing methods in place.
Unit testing focuses verification effort on the smallest unit of software design- the
software component or module. The unit test is white-box oriented. The unit testing
implemented in every module of student attendance management System. by giving
correct manual input to the system ,the data are stored in database and retrieved. If
you want required module to access input or get the output from the End user. any
error will accrued the time will provide handler to show what type of error will
accrued .
System testing is actually a series of different tests whose primary purpose is to fully
exercise the computer-based system. Below we have described the two types of
testing which have been taken for this project. it is to check all modules worked on
input basis .if you want change any values or inputs will change all information. So
specified input is must.
Client Login:
35
Admin Login:
FoodList:
36
ClientSignup:
37
Cart:
Menu:
Information:
38
Admin Dashboard:
39
40
CHAPTER 6: TEST REPORT
6.1 Test Reports
Project Basic Project Overview
Information
Project Description:
Food ordering system is an application
which will help restaurant to optimize and
control over their restaurants..
Admin can edit, delete and add food
Manage the address book
The manager will able to control the
restaurant by having all the reports to hand
and able to see the records of each
employees and order.
The application helps the restaurant to do all
functionalities more accurately and faster
way.
This application is helping food ordering to
maintain the stock and cash flows
Project Type: Testing and Verification
control over their restaurants. For the waiters, it is making life easier because they
don’t have to go kitchen and give the orders to chef easily. For the management point
of view, the manager will able to control the restaurant by having all the reports to
41
hand and able to see the records of each employees and order. In today’s age of fast
food and take-out, many restaurants have chosen to focus on quick preparation and
speedy delivery of orders rather than offering a rich dining experience. Until very
recently, all of these delivery orders were placed over the phone, but there are many
disadvantages to this system. First, the customer must have a physical copy of the
restaurant’s menu to look at while placing their order and this menu must be up to
The orders are placed using strictly oral communication, which makes it far
more difficult for the customer to receive immediate feedback on the order they have
placed. This often leads to confusion and incorrect orders. The current system is also
inconvenient for the restaurant itself, as they must either have a dedicated staff
member to answer the phone and take orders, or some employees must perform
Menu, complete with all available options and dynamically adjusting prices
based on the selected options. After making a selection, the item is then added to their
order, which the customer can review the details of at any time before checking out.
This provides instant visual confirmation of what was selected and ensures that items
Chapter 7: Conclusion
7.1 Conclusion of the project
RMS makes works easy and faster than current applications.
All the data will be saved in the database. So the administer can view all the
data on time.
42
This system reduces manual works.
RMS will store all the records permanently and also gives the raises and
All the record of the current and ex-staffs will be stored in database.
7.2 Limitations
Application won’t be able to send some notifications about any report or any delivery
system to owner or customer.
Application will require the java, MySQL and three different system which should be
connected to one network for using application to full functionality.
Enhance user interface by adding more user interactive features. Provide deals and
promoting offer details to home page.
43
44
REFERENCE
Book Reference:
Web Reference:
https://getbootstrap.com/docs/4.4/getting-started/introduction/
https://www.w3schools.com/html/default.asp
https://www.w3schools.com/css/default.asp
https://www.w3schools.com/js/default.asp
https://www.w3schools.com/sql/default.asp
https://www.w3schools.com/php/default.asp
https://phpgurukul.com/php-projects-free-downloads/
45