297 Varun C
297 Varun C
The main objective of “The Online Food Ordering System” is to manage the
details of Item Category, Order ,Cart . Online Food ordering system is a process in which
one can order various foods from restaurant through the use of internet , just by sitting at
home or any place. It manages all the information about Item Category, Customer, Cart . The
project is totally built at administrative end and thus only the administrator is guaranteed the
access. The purpose of the project is to build an application program to reduce the manual
work for managing the Item Category, Food, Customer .
The project connects different customers with restaurants . The project contains an
admin(manager) and the user side. All the management like editing site contents, updating
food items and checking order status can be managed from the admin side.
This system will allow hotels and restaurants to increase scope of business by reducing the
labor cost involved. The system also allows to quickly and easily manage an online menu
which customers can browse and use to place orders with just few clicks. Restaurant
employees then use these orders through an easy to navigate graphical interface for efficient
processing.
Table of Contents
Chapter 1 . Introduction
➢ Introduction
➢ System environment
➢ Software requirement
➢ Hardware requirements
➢ Purpose
➢ Project Scope
➢ Existing System
➢ Proposed System
➢ System Description
Chapter 4 . Implementation issues
➢ HTML
➢ Cascading style sheet(CSS)
➢ Bootstrap
➢ Javascript
➢ PHP
➢ MySql
Chapter7 . Screenshot
Chapter 8 . Coding
CHAPTER # 9 , Advantages & Limitations
➢ advantages
➢ Limitation
➢ Future scope
➢ Bibliography
CHAPTER # 1
INTRODUCTION
Contents:
▪ Introduction
▪ Problem Definition
▪ Aim
▪ Objective
▪ Goal
▪ Need of System
The project Online Food ordering system is a web based application that allows the
administrator to handle all the activities online quickly and safely.
As a restaurant owner or manager, you need to do whatever you can to strengthen the bottom
line. A higher volume of orders means you are making more money, so it stands to reason
you would want to do whatever is necessary to make that happen. An online ordering system
gives you a platform from which to boost sales
Online ordering system that I am proposing here, greatly simplifies the ordering process for
both the customer and the restaurant. System presents an interactive and up-to-date menu
with all available options in an easy to use manner. Customer can choose one or more items
to place an order. Customer can view all the order details in the cart . At the end, customer
gets order confirmation details. Once the order is placed it is entered in the database and
retrieved in pretty much real time. This allows Restaurant Employees to quickly go through
the orders as they are received and process all orders efficiently and effectively with minimal
delays and confusion
Aim:
Our proposed system is an online food ordering system that enables ease for the customers.
Our proposed system is a medium to order online food free from restaurants. This system
improves the method of taking the order from customer. The online food ordering system sets
up of food item online and customers can easily place the order as per their wish. This system
also provides a send message system in which user can send message for any inquiry or
suggestion and the hotel staff will be informed for the improvements along with the quality.
Objective:
listing of orders by the waiters/waitresses may result to slow response in customer service.
Hence, if the restaurant uses the proposed system, manipulation of orders to the customers be
so easy and quick by just touching on the tablet and choosing the desired menu.
Goal:
The project is basically targeted at those people who would like online shopping and have an
Internet access . Finally buyers curious in comparing the prices for various products for
according our budget.
This Case study looks at the problem of setting up a food restaurant. In existing system there
are few
problems:
• For placing any orders customers have to visit hotels or restaurants to know about food
items and then place order and pay. In this method time and manual work is required.
• While placing an order over the phone, customer lacks the physical copy of the menu item,
lack of visual confirmation that the order was placed correctly.
• Every restaurant needs certain employees to take the order over phone or in-person . In
today’s market, labor rates are increasing day by day making it difficult to find employees
when needed.
Hence, to solve this issue, what I propose is an “Online Food Order System, originally
designed for small scale business.
Benefits are:
1. This will minimize the number of employees at the back of the counter.
3. The system will be less probable to make mistake, since it’s a machine.
4. This will avoid long queues at the counter due to the speed of execution and number of
This system will reduce the manual operation required to maintain all the records of booking,
information. And also generates the various reports for analysis. Main concept of the project
is to enter transaction reports and to maintain customer records. Hence this software can be
used in any restaurant to maintain their record easily
CHAPTER # 2
Hardware And Softwarerequirements
Contents:
▪ . Introduction
▪ System environment
▪ . Software requirement
▪ Hardware requirements
Introduction:
In this chapter we mentioned the software and hardware requirements, which are necessary
for successfully running this system. The major element in building systems is selecting
compatible hardware and software. The system analyst has to determine what software
package is best for the "Online Food ordering System" and, where software is not an issue,
the kind of hardware and peripherals needed for the final conversion.
System Environment:
After analysis, some resources are required to convert the abstract system into the real one.
All the resources, which accomplish a robust The hardware and software selection begins
with requirement analysis, followed by a request for proposal and vendor evaluation.
Software and real system, are identified. According to the provided functional specification
all the technologies and its capacities are identified. Basic functions and procedures and
methodologies are prepared to implement. Some of the Basic requirements such as hardware
and software are described as follows: -
Software Requirements:
Database : MySQL
Hardware Requirements:
Chapter 3
System Analysis
Contents:
▪ Purpose
▪ Project Scope
▪ Existing System
▪ Proposed System
▪ System Overview
Purpose:
To manage the online food ordering. It helps to customer to order foods from anywhere.
Project Scope:
The project has a wide scope, as it is not intended to a particular organization. This project is
going to develop generic software, which can be applied by any businesses organization.
Moreover it provides facility to its customer. Also the software is going to provide a huge
amount of summary data.
Proposed System:
The Online Food Ordering system is available in the market that can serve customers to order
foods online.
System Overview:
Login: ADMIN or USER. The ADMIN has all the rights in the
software including updating the status of his site. The other fields
in login are username and password. If the username and password
are correct then it is directed to next page.
New user: This module is for the users who do not have their account. Here user is
allowed to registration an account to login. The filling the registration form with user
details such as name, phone, email etc.
CHAPTER #4
Implementation Issues
1 HTML:
Hypertext Markup Language (HTML) is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as
Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers
receive HTML documents from a web server or from local storage and render the documents
into multimedia web pages. HTML describes the structure of a web page semantically and
originally included cues for the appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML constructs, images
and other objects such as interactive forms may be embedded into the rendered page. HTML
provides a means to create structured documents by denoting structural semantics for text
such as headings, paragraphs, lists, links, quotes and other items. HTML elements are
delineated by tags, written using angle brackets. Tags such as <img /> and <input /> directly
introduce content into the page. Other tags such as <p> surround and provide information
about document text and may include other tags as sub-elements. Browsers do not display the
HTML tags, but use them to interpret the content of the page.
HTML can embed programs written in a scripting language such as JavaScript, which affects
the behavior and content of web pages. Inclusion of CSS defines the look and layout of
content. The World Wide Web Consortium (W3C), former maintainer of the HTML and
current maintainer of the CSS standards, has encouraged the use of CSS over explicit
presentational HTML since 1997.
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of
a document written in a markup language like HTML.CSS is a cornerstone technology of the
World Wide Web, alongside HTML and JavaScript.CSS is designed to enable the separation
of presentation and content, including layout, colors, and fonts.This separation can improve
content accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple web pages to share formatting by specifying the relevant CSS
in a separate .css file, and reduce complexity and repetition in the structural content.
CSS information can be provided from various sources. These sources can be the web
browser, the user and the author. The information from the author can be further classified
into inline, media type, importance, selector specificity, rule order, inheritance and property
definition. CSS style information can be in a separate document or it can be embedded into
an HTML document. Multiple style sheets can be imported. Different styles can be applied
depending on the output device being used; for example, the screen version can be quite
different from the printed version, so that authors can tailor the presentation appropriately for
each medium.The style sheet with the highest priority controls the content display.
Declarations not set in the highest priority source are passed on to a source of lower priority,
such as the user agent style. The process is called cascading.
One of the goals of CSS is to allow users greater control over presentation. Someone who
finds red italic headings difficult to read may apply a different style sheet. Depending on the
browser and the web site, a user may choose from various style sheets provided by the
designers, or may remove all added styles and view the site using the browser's default
styling, or may override just the red italic heading style without altering other attributes.
3 Bootstrap :
Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-
end web development. It contains CSS- and (optionally) JavaScript-based design templates
for typography, forms, buttons, navigation, and other interface components.
Bootstrap is among the most starred projects on GitHub, with more than 142,000 stars,
behind freeCodeCamp (almost 312,000 stars) and marginally behind Vue.js framework.
Bootstrap is a HTML, CSS & JS Library that focuses on simplifying the development of
informative web pages (as opposed to web apps). The primary purpose of adding it to a web
project is to apply Bootstrap's choices of color, size, font and layout to that project. As such,
the primary factor is whether the developers in charge find those choices to their liking. Once
added to a project, Bootstrap provides basic style definitions for all HTML elements. The
result is a uniform appearance for prose, tables and form elements across web browsers. In
addition, developers can take advantage of CSS classes defined in Bootstrap to further
customize the appearance of their contents. For example, Bootstrap has provisioned for light-
and dark-colored tables, page headings, more prominent pull quotes, and text with a
highlight.
Initially only implemented client-side in web browsers, JavaScript engines are now
embedded in many other types of host software, including server-side in web servers and
databases, and in non-web programs such as word processors and PDF software, and in
runtime environments that make JavaScript available for writing mobile and desktop
applications, including desktop widgets.
The terms Vanilla JavaScript and Vanilla JS refer to JavaScript not extended by any
frameworks or additional libraries. Scripts written in Vanilla JS are plain JavaScript
code.Google's Chrome extensions, Opera's extensions, Apple's Safari 5 extensions, Apple's
Dashboard Widgets, Microsoft's Gadgets, Yahoo! Widgets, Google Desktop Gadgets, and
Serence Klipfolio are implemented using JavaScript.
Back end: PHP, MySQL
PHP is a server side scripting language that is used to develop Static websites or Dynamic
websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier stood for
Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP installed.
The client computers accessing the PHP scripts require a web browser only. A PHP file
contains PHP tags and ends with the extension ".php".
The term PHP is an acronym for PHP: Hypertext Preprocessor. PHP is a server-side scripting
language designed specifically for web development. PHP can be easily embedded in HTML
files and HTML codes can also be written in a PHP file. The thing that differentiates PHP
with client-side language like HTML is, PHP codes are executed on the server whereas
HTML codes are directly rendered on the browser.
PHP: Hypertext Preprocessor (or simply PHP) is a general-purpose programming language
originally designed for web development. It was originally created by Rasmus Lerdorf in
1994.PHP code may be executed with a command line interface (CLI), embedded into
HTML code, or used in combination with various web template systems, web content
management systems, and web frameworks. PHP code is usually processed by a PHP
interpreter implemented as a module in a web server or as a Common Gateway Interface
(CGI) executable. The web server outputs the results of the interpreted and executed PHP
code, which may be any type of data, such as generated HTML code or binary image data.
PHP can be used for many programming tasks outside of the web context, such as standalone
graphical applications and robotic drone control.
2-MySQL:
MySQL is an open source relational database management system (RDBMS) based on
Structured Query Language (SQL). It is one part of the very popular LAMP platform
consisting of Linux, Apache, My SQL, and PHP. Currently My SQL is owned by Oracle. My
SQL database is available on most important OS platforms. It runs on BSD Unix, Linux,
Windows, or Mac OS. Wikipedia and YouTube use My SQL. These sites manage millions of
queries each day. My SQL comes in two versions: My SQL server system and My SQL
embedded system.
RDBMS TERMINOLOGY
Before we proceed to explain MySQL database system, let's revise few definitions related to
database.
CHAPTER # 5
System Design
Contents:
The main purpose is to show the interaction between the use cases and the actor.
The use cases are the functions that are to be performed in the module
Registratio
n
login
Food item
Select item
Add item
Remove item
custom Admin
er
Food order
Data Flow Diagram
A Data Flow Diagram (DFD) is a graphical representation of the flow of data through an
Information System. A data flow diagram can also be used for the visualization of Data
Processing. It is common practice for a designer to draw a context-level DFD first which
shows the interaction between the system and outside entities. This context-level DFD is then
"exploded" to show more detail of the system being modeled.
A picture is worth a thousand words. A Data Flow Diagram (DFD) is a traditional way to
visualize the information flows within a system. A neat and clear DFD can depict a good
amount of the system requirements graphically. It can be manual, automated, or a
combination of both.
It shows how information enters and leaves the system, what changes the information and
where information is stored. The purpose of a DFD is to show the scope and boundaries of
a system as a whole. It may be used as a communications tool between a systems analyst
and any person who plays a part in the system that acts as the starting point for redesigning
a system.
It is usually beginning with a context diagram as level 0 of the DFD diagram, a simple
representation of the whole system. To elaborate further from that, we drill down to a level
1 diagram with lower-level functions decomposed from the major functions of the system.
This could continue to evolve to become a level 2 diagram when further analysis is
required. Progression to levels 3, 4 and so on is possible but anything beyond level 3 is not
very common. Please bear in mind that the level of detail for decomposing a particular
function depending on the complexity that function.
Process/Function
File/database
Input
flow
Level 0
0.0
Bill
Receipt
Level 1
1.0
Order for food
Customer/user Processing of
Receipt order
Check
Verified
Selected item
Login / reg.
Formatted of cart item
2.0
Add item to
cart Db of cart item
Generate
management Management
report report
Admin
Level 2
1.0
Check 1.0
Verified
Selected item Category &
Dish
Login / reg.
2.0
Add item to
Formatted of cart item cart
Communication
With user
2.0
Generate
management Management 2.0
report report
Dashboard
Admin
management
Verified
Name
USER Place order orderid
Id
Belog to
Email category
Id
Contact us User
passwor
usernam d
e
Chapter #6
TESTING AND IMPLEMENTATION
UNIT TESTING
Introduction
In computer programming, unit testing is a software testing method by which individual units
of source code, sets of one or more computer program modules together with associated
control data, usage procedures, and operating procedures, are tested to determine whether
they are fit for use. Intuitively, one can view a unit as the smallest testable part of an
application. In procedural programming, a unit could be an entire module, but it is more
commonly an individual function or procedure. In object-oriented programming, a unit is
often an entire interface, such as a class, but could be an individual method. Unit tests are
short code fragments created by programmers or occasionally by white box testers during the
development process. It forms the basis for component testing. Ideally, each test case is
independent from the others. Substitutes such as method stubs, mock objects, fakes, and test
harnesses can be used to assist testing a module in isolation. Unit tests are typically written
and run by software developers to ensure that code meets its design and behaves as intended.
Benifits
The goal of unit testing is to isolate each part of the program and show that the individual
parts are correct. A unit test provides a strict, written contract that the piece of code must
satisfy. As a result, it affords several benefits.
1) Find problems early : Unit testing finds problems early in the development cycle. In test-
driven development (TDD), which is frequently used in both extreme
programming and scrum, unit tests are created before the code itself is written. When the tests
pass, that code is considered complete. The same unit tests are run against that function
frequently as the larger code base is developed either as the code is changed or via an
automated process with the build. If the unit tests fail, it is considered to be a bug either in the
changed code or the tests themselves. The unit tests then allow the location of the fault or
failure to be easily traced. Since the unit tests alert the development team of the problem
before handing the code off to testers or clients, it is still early in the development process.
2 ) Facilitates Change : Unit testing allows the programmer to refactor code or upgrade
system libraries at a later date, and make sure the module still works correctly (e.g.,
in regression testing). The procedure is to write test cases for all functions and methods so
that whenever a change causes a fault, it can be quickly identified. Unit tests detect changes
which may break a design contract.
3 ) Simplifies Integration : Unit testing may reduce uncertainty in the units themselves and
can be used in a bottom-up testing style approach. By testing the parts of a program first and
then testing the sum of its parts, integration testing becomes much easier.
Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase
in software testing in which individual software modules are combined and tested as a group.
It occurs after unit testing and before validation testing. Integration testing takes as its
input modules that have been unit tested, groups them in larger aggregates, applies tests
defined in an integration test plan to those aggregates, and delivers as its output the integrated
system ready for system testing.
Purpose
Big Bang
In the big-bang approach, most of the developed modules are coupled together to form a
complete software system or major part of the system and then used for integration testing.
This method is very effective for saving time in the integration testing process. However, if
the test cases and their results are not recorded properly, the entire integration process will be
more complicated and may prevent the testing team from achieving the goal of integration
testing.A type of big-bang integration testing is called "usage model testing" which can be
used in both software and hardware integration testing. The basis behind this type of
integration testing is to run user-like workloads in integrated user-like environments. In doing
the testing in this manner, the environment is proofed, while the individual components are
proofed indirectly through their use. Usage Model testing takes an optimistic approach to
testing, because it expects to have few problems with the individual components. The
strategy relies heavily on the component developers to do the isolated unit testing for their
product. The goal of the strategy is to avoid redoing the testing done by the developers, and
instead flesh-out problems caused by the interaction of the components in the environment.
For integration testing, Usage Model testing can be more efficient and provides better test
coverage than traditional focused functional integration testing. To be more efficient and
accurate, care must be used in defining the user-like workloads for creating realistic scenarios
in exercising the environment. This gives confidence that the integrated environment will
work as expected for the target customers.
Bottom-up testing is an approach to integrated testing where the lowest level components are
tested first, then used to facilitate the testing of higher level components. The process is
repeated until the component at the top of the hierarchy is tested.All the bottom or low-level
modules, procedures or functions are integrated and then tested. After the integration testing
of lower level integrated modules, the next level of modules will be formed and can be used
for integration testing. This approach is helpful only when all or most of the modules of the
same development level are ready. This method also helps to determine the levels of software
developed and makes it easier to report testing progress in the form of a percentage.Top-
down testing is an approach to integrated testing where the top integrated modules are tested
and the branch of the module is tested step by step until the end of the related
module.Sandwich testing is an approach to combine top down testing with bottom up testing.
SYSTEM TESTING
This module provides the functionality for customers to place their order and
supply necessary details. Users of the system, namely restaurant customers,
must be provided the following functionality:
• Create an account.
• Place an order.
• Receive confirmation in the form of an order number.
This module provides functionality for the power Administrator only. It will not
be available to any other users of the system like Restaurant Employees or
Customers.
Using a graphical interface, it will allow an Admin to manage the menu that is
displayed to users of the web ordering system:
• Add dish: Allows to add dish Name, dish details, Price and choose Category
Besides the above achievements and the successful completion of the project, we still feel the
project has some limitations, listed as below
• Enhance User Interface by adding more user interactive features. Provide Deals and
promotional
Offer details to home page. Provide Recipes of the Week/Day to Home Page
• Payment Options: Add different payment options such as PayPal, Cash, Gift Cards etc.
Allow to
• Order Process Estimate: Provide customer a visual graphical order status bar
Bibliography:
• https://getbootstrap.com/
• https://www.w3schools.com/php/default.asp
• https://www.w3schools.com/html/default.asp
• https://www.youtube.com/
•