Online Food Delivery Web Application
Online Food Delivery Web Application
Project Report
On
Online Food Delivery Web Application
Guided By:
Oinam Bhopen Singh
Asst. Professor
Dept. of Computer Science
Icfai University Nagaland
D e p a r t m e n t o f C o m p u t e r S c i e n c e
I c f a i U n i v e r s i t y N a g a l a n d
HoD’s CERTIFICATE
This is to certify that Mr. Manjeet Sahu bearing University Enrollment No. 23FHPCNND07006 has
carried out the Minor Project titled “Online Food Delivery Web Application” as a requirement and
submitted in partial fulfillment for qualifying in the 1st year of the MCA Program (Class of 2023 – 25).
The said project work has been carried out during the time period June-July 2023.
Dated:___/___/_______.
Place: Dimapur
This is to certify that Mr. Manjeet Sahu bearing University Enrollment No.
23FHPCNND07006 has carried out the Minor Project titled “Online Food Delivery Web
Application” under my Internal Supervision and Guidance during June-July 2023.
The said project work has not been submitted for the purpose of any other degree or diploma
given by any University.
This report has not been submitted for any other examination and does not form any part of any
other courses undergone by the candidate.
Dated:___/___/_______.
Place: Dimapur
I hereby declare that the work on the project entitled “Online Food Delivery Web Application” has
been carried out by me under the Internal Guidance of Mr. Oinam Bhopen Singh, Asst. Professor, Dept.
of Computer Science, Icfai University Nagaland (IUN) and submitted in partial fulfillment for
qualifying the Minor Project in the 1st year of the MCA program (Class of 2023 – 25).
I also declare hereby that any or all contents incorporated in the project has not
been submitted in any form whatsoever for any other degree or diploma under any other
university.
Manjeet Sahu
University Enrollment No.: 23FHPCNND07006
ACKNOWLEDGEMENT
I would like to give my heartfelt gratitude to Mr. Rupanka Bhuyan, Registrar, Icfai
University Nagaland, for providing me all the facilities and support and thereby
giving this great opportunity for enhancing and developing my talent through this
project.
Also I would also like to give my heartfelt gratitude to my Internal Guide
Mr. Oinam Bhopen Singh, Asst. Professor, Department of Computer Science, Icfai
University Nagaland for helping me out in doing this project.
Manjeet Sahu
TABLE OF CONTENTS
CHAPTERS PAGE NO
1. INTRODUCTION------------------------------------------------------01
1.1 OBJECTIVE
1.2 MODULES
1.2.1 ADMINSTRATOR MODULE
1.2.2 CUSTOMER MODULE
1.2.3 ADMIN MODULE
1.2.4 USER MODULE
1.2.5 BRIEF INFORMATION ABOUT HOME PAGE
2. LITERATURE SURVEY--------------------------------------------04
2.1 AIM
2.2 EXISTING SYSTEM
2.3 PROPOSED SYSTEM
4. DESIGN-----------------------------------------------------------------06
4.1 INTRODUCTION
4.2 USE CASE DIAGRAM
4.2.1 ADMIN USE CASE DIAGRAM
4.2.2 USER USE CASE DIAGRAM
4.3 ER DIAGRAMS
4.4 CONNECTIVITY AND CARDINALITY
4.5 ER NOTATIONS
4.6 DATA FLOW DIAGRAM
4. DATABASE DESIGN----------------------------------------------16
4.1 MYSQL TABLES
4.2 TABLES RELATIONSHIP DIAGRAM
5. SYSTEM TESTING------------------------------------------------20
6. CODING-------------------------------------------------------------22
7. DEVELOPMENT TOOLS---------------------------------------52
8. TESTING-----------------------------------------------------------------55
8.1 ACCEPTANCE TESTING
9. SYSTEM EVALUATION AND DISCUSSION----------------56
12. SNAPSHOTS---------------------------------------------------------59
13. CONCLUSIONS-----------------------------------------------------65
14. BIBILOGRAPHY--------------------------------------------------------------------66
1. INTRODUCTION
An online food ordering system is a web-based application that stimulates the foodies (customers)
to put food orders through internet by. This application is based on the Open Source platform.
1.1 Objective
The main objective of this project is to develop an application which gives provision to the
restaurant owners to flourish their business by uploading menus at no cost and will invariably
lead to higher customer retention and acquisition rates.
User Friendly: Online Food Ordering System is a very user-friendly project because the
Food Ordering Record and searching from categories is very simple, fast and data is
secured. The user interface of the project is very simple.
Order reports of the system can be easily generated. User can generate the report of any
particular date and period. In this way they can get delivery status of customers and get
information about what is being ordered.
Very less paper work: Online Food Ordering System requires less paper work. In this
project all record is fetched directly into the computer and reports can be generated through
just a click. In this way it saves time. As data is directly entered into computer so there is
no need to do any paper work.
Computer operator control: Online Food Ordering System is operated by the staff members
and one admin so there is no chance of clerical mistakes. Data feeding and retrieving in
this system is very easy. So, the work can be done on time.
1.2 Modules
• Administrator module
• Customer Module
1.2.1 Administrator module
Admin can view all the information about the user edit the all details about the customer.
• Create food category
• Manage food categories
• Add food item
• Manage Food item
• Manage user order
• Reports: In this section admin can view order details, order counts and sales report
according to dates. Admin can also update his profile, change password and recover
password.
1.2.4 User Module
• Food Menu: In this section user can view which food available in restaurants
• My Accounts: In this section user can his/her password, view and update his/her
profile and logout from accounts
• My orders: In this section user can view order history after login.
• Cart: In this section user can add their food which he/her want to order.
• User has also a facility to download his/her invoice and cancel order if he/her wants
to cancel
2.1 Aim
The aim of developing Online Food Ordering system project is to replace the traditional way of
taking orders with computerized system. Another important reason for developing this project is
to prepare order summary reports quickly and in correct format at any point of time when required.
Online Food Ordering System has a very lot of scope. This PHP project can be used by any
restaurants or fast foods for customers for keeping their order records. This project is easy, fast
and accurate. It requires less disk space. Online Food Ordering System uses MYSQL Server as
backend so there is not any chance of data loss or data security.
In existing system for giving any orders users should visit restaurants to know about food items
and them give order and pay advance. In this method time and manual work is required.
Maintaining critical information in the files and manuals is full of risk and a tedious process.
This online application enables the end users to register online, select the food from the e-menu
card, read the E-menu card and order food online. By just selecting the food that the user wants to
have. The results after selecting the food from the E-menu card will directly appear in the screen
of the restaurant admin.
By using this application, the work of the Waiter is reduced and we can also say that the work is
nullified. The benefit of this is that if there is rush in the Restaurant then there will be chances that
the waiters will be unavailable and the users can directly order the food to the chef online by using
this application. The user will be given a username and a password to login.
3. HARDWARE AND SOFTWARE REQUIREMENTS
• Hardware - Pentium
• RAM - 1GB
• Hard Disk - 20 GB
• Monitor - SVGA
Technology : PHP
Database : MySQL
4.DESIGN
4.1 INTRODUCTION:
Design is the first step in the development phase for any techniques and principles for the purpose
of defining a device, a process or system in sufficient detail to permit its physical realization.
Once the software requirements have been analysed and specified the software design involves
three technical activities - design, coding, implementation and testing that are required to build and
verify the software.
The design activities are of main importance in this phase, because in this activity, decisions
ultimately affecting the success of the software implementation and its ease of maintenance are
made. These decisions have the final bearing upon reliability and maintainability of the system.
Design is the only way to accurately translate the customer’s requirements into finished software
or a system.
Design is the place where quality is fostered in development. Software design is a process through
which requirements are translated into a representation of software. Software design is conducted
in two steps. Preliminary design is concerned with the transformation of requirements into data.
UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use `cases.
Use case:
A description of sequence of actions, including variants, that a system performs that yields an
observable result of value of an actor.
UML stands for Unified Modelling Language. UML is a language for specifying, visualizing and
documenting the system. This is the step while developing any product after analysis. The goal
from this is to produce a model of the entities involved in the project which later need to be built.
The representation of the entities that are to be used in the product being developed need to be
designed.
Use case diagrams model behaviour within a system and helps the developers understand of what
the user requires. The stick man represents what’s called an actor.
Use case diagram can be useful for getting an overall view of the system and clarifying who can
do and more importantly what they can’t do.
Use case diagram consists of use cases and actors and shows the interaction between the use case
and actors.
• The purpose is to show the interactions between the use case and actor.
USECASE DIAGRAM:
Dashboard
Manage Registered
Users
Admin
Manage Food Menu
Add/ Update
Order Management
Report Generation
Update Profile
Change Password
4.2.2 User Use Case Diagram:
Signup
Sign in
Place order
User
Order Tracking
Change Password
Update Profile
4.3 E-R Diagrams:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976 [Chen76] as a way
to unify the network and relational database views. Simply stated the ER model is a conceptual
data model that views the real world as entities and relationships. A basic component of the model
is the Entity-Relationship diagram which is used to visually represents data objects. Since Chen
wrote his paper the model has been extended and today it is commonly used for database design
For the database designer, the utility of the ER model is:
• it maps well to the relational model. The constructs used in the ER model can easily be
transformed into relational tables.
• it is simple and easy to understand with a minimum of training. Therefore, the model can
be used by the database designer to communicate the design to the end user.
• In addition, the model can be used as a design plan by the database developer to implement
a data model in a specific database management software.
The basic types of connectivity for relations are: one-to-one, one-to-many, and many-to-many. A
one-to-one (1:1) relationship is when at most one instance of a entity A is associated with one
instance of entity B. For example, "employees in the company are each assigned their own office.
For each employee there exists a unique office and for each office there exists a unique employee.
A one-to-many (1: N) relationships is when for one instance of entity A, there are zero, one, or
many instances of entity B, but for one instance of entity B, there is only one instance of entity
A. An example of a 1: N relationships is a department has many employees each employee is
assigned to one department
A many-to-many (M: N) relationship, sometimes called non-specific, is when for one instance of
entity A, there are zero, one, or many instances of entity B and for one instance of entity B there
are zero, one, or many instances of entity A. The connectivity of a relationship describes the
mapping of associated
4.5 ER Notation
There is no standard for representing data objects in ER diagrams. Each modelling methodology
uses its own notation. The original notation used by Chen is widely used in academics texts and
journals but rarely seen in either CASE tools or publications by non-academics. Today, there are
a number of notations used, among the more common are Bachman, crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and relationships as lines connecting
boxes. Each style uses a special set of symbols to represent the cardinality of a connection. The
notation used in this document is from Martin. The symbols used for the basic ER constructs are:
Entities are represented by labelled rectangles. The label is the name of the entity. Entity
names should be singular nouns.
Relationships are represented by a solid line connecting two entities. The name of the
relationship is written above the line. Relationship names should be verbs
Attributes, when included, are listed inside the entity rectangle. Attributes which are
identifiers are underlined. Attribute names should be singular nouns.
Cardinality of many is represented by a line ending in a crow's foot. If the crow's foot is
omitted, the cardinality is one.
Existence is represented by placing a circle or a perpendicular bar on the line. Mandatory
existence is shown by the bar (looks like a 1) next to the entity for an instance is required.
Optional existence is shown by placing a circle next to the entity that is optional
4.6 Data Flow Diagram
5. DATABASE DESIGN
The data in the system has to be stored and retrieved from database. Designing the database is part
of system design. Data elements and data structures to be stored have been identified at analysis
stage. They are structured and put together to design the data storage and retrieval system.
A database is a collection of interrelated data stored with minimum redundancy to serve many users
quickly and efficiently. The general objective is to make database access easy, quick, inexpensive
and flexible for the user. Relationships are established between the data items and unnecessary data
items are removed. Normalization is done to get an internal consistency of data and to have
minimum redundancy and maximum stability. This ensures minimizing data storage required,
minimizing chances of data inconsistencies and optimizing for updates. The MS Access database
has been chosen for developing the relevant databases.
At the end of the system design, it is the beginning for the actual coding to develop the proposed
system. During development phase, the table structure of the database will be first built in order to
provide a suitable data types that suit the system back end development, system connection and
data transfer. Next, the computer side client program will be developed and follow by will be the
web services that allow mobile phone client program to communicate with the server and lastly
mobile phone side client program will be developed. In testing phase, several test cases will be
carrying out to test the system in order to determine the system reliability and system accuracy.
According to the test cases, a system testing report will be generated for further review to figure
out the system weaknesses and made improvement accordingly. In the deployment phase, several
training will be provided for the particular restaurant staff such as how to operate the system, the
procedure of handling different event and several instructions that need to be follow when
operating the system.
During the system implementation phase, several challenges need to be confront because it involve
end users to test the production system with various situation. The possible challenges may face
are as following:
The users are required to have basic knowledge of how to operate a computer system and android
mobile phone in order to use the system. This will be difficulty to give training to the user as the
basic knowledge information can be obtained from internet easily.
6.4 The screen size of different device
This would be one of the issues that will encounter while implementing the system. Because user
is able to download the mobile application from the official website and use it as a client device to
place order. Therefore, if the user device screens size are too small or too big. The content and
interface of the application may not consistence.
During real time system implementation, three would be a huge number of client that access to the
server at the same time. Therefore, it may slow down the connection and performances of the
system and even causes the server down if the issue goes beyond the level of acceptance.
7. CODING
USER PAGE
INDEX PAGE
ADMIN PROFILE
The proposed system will need a database system to support in order to store the huge amount of
data. MySQL database system will be chosen to support the proposed system because it is well-
known open source relational database management system. Other than that, MySQL database
system provides software developer with a client program with easy understanding graphical user
interface that can communicate to the MySQL database server named as MySQL
Workbench 6.3 CE. By doing so, software developer can interact with the database system with
the user friendliness client program and without using the command prompt, at the end it may
speed up the development progress.
The proposed system is a cross platform system, which include Windows desktop client and
Android mobile phone client. Therefore, it requires to implement web services in order to support
the Android mobile phone client device to fetch data from the database server and store data back
to the database server. In this project, WampServer is used to support the issue that mention earlier.
WampServer is a
Windows web development environment that built-in comes together with the
Apache, PHP and MySQL database. Furthermore, PHP will be the programming language that
used to create the web services that store in the server and it is able to call by the Android mobile
phone client to perform particular task.
For the rule of thumb to develop a system, it requires to have an intact system planning which
serve as a guide line during the development phases. Microsoft Project is a project management
software program and it has been used in the project to design the system planning, project
timeline, managing of resources, tracking development progress and etc.
In this project, Visual Paradigm software has been used to create document for several system
planning diagram such as Use-Case diagram, Activity diagram, Class diagram and etc. By
doing so, software developer are able to visualize the system communicate information much
more concisely and clearly.
After the system has been developed, it will move to system testing phase. In system testing phase,
the developed system is required to install on appropriate devices for testing purpose. After the
system installation has been completed, the system testing task will be performed by different roles
of user such as manager role and staff role. The purpose of system testing is to identify and
determine the degree of system stability. At the same time, it is given an opportunity for developer
to figure out error or bug that has not been raise and encounter during the system development
phase. Those error or bug that has been found during the system testing activities will be solved
before the system release. Each and every testing before system testing phases is actually tested
by the system developer itself. Therefore, it might cause some biases toward the testing due to the
system developer have knowledge about the system software logics and lead the result to be
inappropriate. There are four types of testing that will be used to test the developed system which
includes unit testing, integration testing, system testing and acceptance testing.
Unit Testing
First of all, unit testing will be the first testing method that used to test the developed system. It
consists of testing activities that test the system module by module which has not been integrated
as a whole. By doing unit testing, developer is able to identify error and bug easily since it is
finding the error and bug through a unit part of the system rather than finding error through the
complete system. In addition, developer will test the unit part of the system with the validation and
the correctness of data value. Valid and invalid input will be entering to test and ensure the system
processes perform with an expected result.
Functional Testing
After conducted the unit testing, functional testing will begin to test the developed system.
Functional testing is performed to verify that the system application processes that perform and
functioning appropriately according to the design specifications. In functional testing, the core
system application functions will be tested with several test cases in order to ensure that the entire
system functioning as a whole and perform task that with the expected results.
9.TESTING
System testing of the software and hardware is a testing conducted on a system which is complete,
integrated system that works as a whole. System testing is a critical testing procedure that must be
conducted by software developer before the system released. During system testing it can evaluate
the system’s compliance with its specified requirements according to the system design.
Furthermore, several testing activities in system testing test not only the design of the system, but
also the behaviour and the believed expectations result from the customer. In addition, various
complex test cases that used to test the system are according to the business process requirements
which are collected from the user. Meanwhile, errors or bugs that detected during the testing is
required software developer look into it from the initial step of the business process to the end of
the process to ensure it have expected result in order to solve the errors or bugs to determine the
degree of system stability.
Last but not lease, acceptance testing also known as user acceptance testing would be the final
testing procedure that perform to test the developed software system. In acceptance testing, the
testing activities are different compare to the testing activities that mentioned previously because
the tester that tests the system will be the final user which do not have knowledge about the system
logic. If the final user encountered an error while using the system, system developer are required
to maintain the system as soon as possible and release a new patch for the existing system to
recover the error. Meanwhile, final user will use the system that visualized as to support their real
business routine operation; therefore, software support team are required to stand by to provide
technical support while final user need any help or support that regarding the system. If there are
no errors detected by the final user while using the system for a long period, the development job
of developer is considered as complete and the system will be a final system product.
10. SYSTEM EVALUATE AND DISCUSSION
The proposed system is designed and developed to solve all the problem statements which are
stated in chapter one of this report. First of all, the developed system provides a feature that is able
to solve the problem of difficulties in food order ticket tracking and achieve the project objective
of prevention of food serves not in sequence. By using the system, it allows staff to placed order
ticket through using the system and the system will automatically queue the food order information
according to the first come first serve basis and kitchen staff is able to follow the food queue to
serve customer accordingly. It also eliminates all the manual processes that involve in the
traditional method of delivering food order ticket. In addition, the developed system allows
manager to update all the food information as it is needed. This feature helps restaurant to eliminate
duplicated physical menu card which contain misleading information and also allow staff and
customer to view the latest updated food menu information through using the system. By doing so,
it helps restaurant to solve the problem which regarding difficulties in updating menu card
information, difficulties in providing appropriate updated food information and the potential of
increase cost of operation as the system will automatically refresh all the updated information that
is edited by manager. Furthermore, the project objective which regarding provides convenience
for both employees and consumers has been achieved because the system allow consumer to view
all the updated information through the mobile phone client devices and it reduce the number of
manual work which restaurant staff need to be performed. Last but not lease, the project objective
of assisting restaurant to plan ahead has been achieved due to the system allow manager to generate
several types of report in order to assist the restaurant to plan ahead. By analysing the generated
report, manager is able to carry out a planning for the next business routine of the restaurant in
order to improve the restaurant operation efficiency. In a nutshell, the system has fulfilled all
significant outcomes that according to all the problem statements and project objectives that are
stated.
11.System Strength and Limitation
The system provide customer with good dine in experience as it allow customer to view food
information and place order through using the mobile phone device. The mobile application also
provides ease of use because it has easy understandable graphic user interface and minimal
instruction to follow while place order through the application. Next, it helps restaurant staff to
serve their value customer in minimal delay. Furthermore, the system can be implemented with
low cost and is affordable for most of the small medium enterprise restaurant, because the hardware
requirements are not required to be high end powerful in order to support the system. Lastly, server
and client are communicating within the restaurant which is intranet therefore it does not need to
have internet access.
The system is not compatible with IOS mobile devices as the mobile application is developed in
Android environment. Therefore, for IOS mobile phone user may not able to install the application
in their mobile phone and experience the system. Meanwhile, the restaurant has prepared some
Android mobile devices which are used to resolve the issue that mention above. Next, due to the
mobile phone client devices are required to connect to the wireless intranet in order to
communicate with the server. It is very important to identify a suitable location that used to install
and set up the wireless access point in order to ensure the wireless signal coverage is able to reach
the entire restaurant area.
12. Future Enhancement
The system can implement a feature which is real time notification from the mobile phone
application to the service desk. This feature enable customer to request customer service through
using the mobile application rather than verbally call restaurant staff to approach them. In addition,
the mobile application also can implement a feature that allow customer to update the food serve
status. For example, customers fine dining at the restaurant they can request the food to be serve
through using the mobile application and if the customer finish the main course and feeling full,
the customer may request do not serve the following food through using the mobile application.
Last but not lease, the mobile application may implement some mini game that is able to entertain
customers while they are waiting for the food to be served.
13. Screen Shot
Home page
Order Page
About Us
Admin Page
Registered User
Food Menu
Database
13. CONCLUSION
After a decade, the advancement and innovation of technology help people to manage their task
easily and efficiently. In many other industry area have been used management system to assist
their business grow long time ago, therefore it is also a trend that cause F&B industry to make use
of a management system for their business. At the end of this project, the system can reduce and
replace the human manpower task, reduce the time consume for each transaction and generate
report for further management purpose by fully utilizing the system.
Obviously, the propose system can help improve the productivity of the restaurant and thus directly
did an impact to the profitability of the restaurant. Furthermore, it can also help restaurant to reduce
the cost of operation in term of manpower, because the system have already facilitate majority of
the business process by using the system. Therefore, it is believed that the system can lead the
restaurant’s business grow from time to time.
On the other hand, the technology nowadays allows the portability requirement easy to achieve.
Therefore, portability has become one of the factors that have to take into consideration in the
system development process. Because portability brings a lot of benefit to user while they using
the system such as it provides convenience, accessibility, easy to communicate and etc. Hence,
portability has done an impact to the social that everybody is much more preferable to complete
their task with portable device.
In order to fulfil these all requirement, our proposed method is combined the food ordering system
which is in mobile platform into the restaurant management system which is in computer platform.
The integration of both features which develop a system that can let user to have an experience of
portability which is user can process their food ordering through using their smart phone or tablet.
Besides, restaurant manage their daily operation management through using the computer platform
it is because computer have some other features such as it has a wider screen, other compatible
system that can help to manage the restaurant and some other driver that needed to communicate
with that necessary hardware.
14. BIBILOGRAPHY
Ramakrishnan, R., & Gehrke, J. (2011). Database management systems. Boston: McGraw-
Hill.
Hanna P. (2002): JSP 2.0 The Complete Reference, Second Edition McGraw Hill
Education.
https://www.w3schools.com
https://www.canvasjs.com
https://getbootstrap.com/
https://fontawesome.com
https://www.swiggy.com/
https://www.freshmenu.com/
https://www.foodiv.com/