Online Food Ordering System Proposal
Online Food Ordering System Proposal
Under Guidance
Of
IGNOU
BCA
Page 1
INDEX
Content Pages
1. Introduction………………………………………………………. 3
2. Objectives………………………………………………………….. 3-4
3. Project Category…………………………………………………
(3.1).RDBMS………………………………………………………. 4
(3.2).OOPS………………………………………………………….. 5-6
4. Analysis
5. Module
(5.1).Module Description………………………………………………… 21-22
(5.2).Testing……………………………………………………………………. 22-23
(5.4).Gant Chart………………………………………………………………. 27
(5.5).Effort Chart…………………………………………………………….. 27
6. Tools /Platform
7. Type of Project…………………………………………………………………………………28
Page 2
1. INTRODUCTION
Online food ordering website is a web-based software that helps to order food
online. In this software the customer will easily able to order food online. It allows
the customer to register initially with minimum details and will let them check the
menu items before ordering, adding them to cart and submitting the order. This
website will contain different types of food varieties available to user to buy
through online.
For example: - south Indian, north Indian food, ice creams etc. After adding
product to cart users can easily make payment by selecting available payment
option and pay amount.
2. Objectives
The main objectives of the project on online food ordering system is to manage
the details of food item , category , customers , order , confirm order.
It manage all the information about food item, payment, confirm order
food item.
The purpose of the project is to build a web application to reduce the
manual work for managing the food item, category, payment, customers. It
tracks all the details about the customer order, confirm order.
Page 3
system customers can’t get the full list of menu by ordering by call but by online
food ordering system customers can look through the whole menu.
3. PROJECT CATEGORY
3.1(RDBMS)
An RDBMS is a DBMS designed specifically for relational databases. Therefore,
RDBMS are a subset of DBMS.
A relational database refers to a database that stores data in a structured format,
using rows and columns. This makes it easy to locate and access specific values
within the database. It is "relational" because the values within each table are
related to each other. Tables may also be related to other tables. The relational
structure makes it possible to run queries across multiple tables at once.
While a relational database describes the type of database an RDMBS manages,
the RDBMS refers to the database program itself. It is the software that executes
queries on the data, including adding, updating, and searching for values. An
RDBMS may also provide a visual representation of the data. For example, it may
display data in tables like a spreadsheet, allowing you to view and even edit
individual values in the table. Some RDMBS programs allow you to create forms
that can streamline entering, editing, and deleting data.
Most well known DBMS applications fall into the RDBMS category. Examples
include Oracle Database, MYSQL, Microsoft SQL Server, and IBM DB2. Some of
these programs support non-relational databases, but they are primarily used for
relational database management.
Examples of non-relational databases include Apache HBase, IBM Domino, and
Oracle No SQL Database. These types of databases are managed by other DMBS
programs that support No SQL, which do not fall into the RDBMS category .
(3.2) OOPS:-
I choose the project category oops because objects are the most important part
of the real problem. It allows users create the objects that I want and then create
methods to handle those objects. Manipulating these objects to get results is the
goal of Object Oriented Programming.
Page 4
Object-Oriented Programming popularly known as OOP, is used in a modern
programming language like Java.
2) Object
An object can be defined as an instance of a class, and there can be multiple
instances of an object in a program. An Object contains both the data and the
function, which operates on the data. For example - chair, bike, marker, pen,
table, car, etc.
3) Inheritance
Inheritance is an OOPS concept in which one object acquires the properties and
behaviour of the parent object. It’s creating a parent-child relationship between
two classes. It offers a robust and natural mechanism for organizing and structure
of any software.
4) Polymorphism
Polymorphism refers to the ability of a variable, object or function to take on
multiple forms. For example, in English, the verb “run” has a different meaning if
you use it with “a laptop,” “a foot race, and” business. Here, we understand the
meaning of “run” based on the other words used along with it. The same also
applied to Polymorphism.
5) Abstraction
An abstraction is an act of representing essential features without including
background details. It is a technique of creating a new data type that is suited for
a specific application. For example, while driving a car, you do not have to be
concerned with its internal working. Here you just need to concern about parts
like steering wheel, Gears, accelerator, etc.
Page 5
6) Encapsulation
Encapsulation is an OOP technique of wrapping the data and code. In this OOPS
concept, the variables of a class are always hidden from other classes. It can only
be accessed using the methods of their current class. For example - in school, a
student cannot exist without a class.
7) Association
Association is a relationship between two objects. It defines the diversity between
objects. In this OOP concept, all objects have their separate lifecycle, and there is
no owner. For example, many students can associate with one teacher while one
student can also associate with multiple teachers.
8) Aggregation
In this technique, all objects have their separate lifecycle. However, there is
ownership such that child object can’t belong to another parent object. For
example, consider class/objects department and teacher. Here, a single teacher
can’t belong to multiple departments, but even if we delete the department, the
teacher object will never be destroyed.
9) Composition
A composition is a specialized form of Aggregation. It is also called "death"
relationship. Child objects do not have their life cycle so when parent object
deletes all child object will also delete automatically. For that, let’s take an
example of House and rooms. Any house can have several rooms. One room can’t
become part of two different houses. So, if you delete the house room will also be
deleted.
Advantages of OOPS:
• OOP offers easy to understand and a clear modular structure for programs.
• Objects created for Object-Oriented Programs can be reused in other
programs. Thus, it saves significant development cost.
• Large programs are difficult to write, but if the development and designing
team follow OOPS concept then they can better design with minimum
flaws.
• It also enhances program modularity because every object exists
independently.
Page 6
E-RDIGRAM
FOOD
Has
USER_NAME FOOD_ID
PICTURE
PASSWORD NAME
CATEGORY
ADMIN DISCOUNT ORDER
ADDED RATE
CATEGORY
MANAG
E
PICTURE
SHIPPING_ADDRESS
MANAGE
STATUS NAME
NAME
TOTAL_COST EMAIL_ID
ORDER_NAME MANAGE
GENDER
ORDER_DATE
CUSTUMER
IMAGE
NAME
MESSAGE
CITY
EMAIL_ID
GENERATE COUNTRY
PHONE
DELETE EMAIL_ID
MESSAGE
CAT_ID
FOOD_ID
ORDER
MESSAGE_DATE
RATE
ADDRESS TOTAL
NAME
QTY
DILEVERY HAS
CONTACT
Page 7
4.2. DFD (Data Flow Diagram)
0-LEVEL DFD
ONLINE
RESTURANT FOOD ORDERING
SYSTEM
REQUEST OF ORDERING
RESPONSE
VIEW
REQUEST ORDER
ADMIN USER
Page 8
1 LEVEL DFD (ADMIN)
ADMIN
SELECT
LOGIN
VEIW
SAVE ORDER ADD
CATOGRY
ORDER DETAILS
SEARCH
MEMBER
SAVE SAVE
UPDATE
PRODUCT VIEW
REQUEST
MESSAGE
ADD
SAVE PRODUCT
MEMBER DETAILS
Page 9
2 LEVEL DFD (USER)
REQUEST
USER LOGIN GIVE
FEED BACK
VIEW
SAVE
VIEW
MY
ORDER FEEDBACK
DILEVERY
DISPLAY BOY CHANGE
DETAILS
ORDER
INFO DISPLAY
DILEVERY
BOY
BILL
ORDERING
DILEVERY BOY
Page
10
2ND LEVEL DFD (ADMIN)
VIEW
VIEW
VIEW
VIEW
VIEW
ORDER
MESSAGE
VIEW
DISPLAY BILLS
ORDER DISPLAY
INFO DISPLAY
BILLS
MESSAGER
ORDER
CHANGE
Page
11
4.3. SRS (SOFTWARE REQUIREMENT SPECIFICATION)
(4.3.1) INTRODUCTION
([Link]) DOCUMENT PURPOSE: -
This document presents a detailed explanation of the objectives, features, user
interface and application of Online Food Ordering System in real life. It will also describe
how the system will perform and under which it must operate. In this document it will
be also shown user interface. Both the stakeholders and the developers of the system
can benefit from this document.
This document is intended for different types of readers such as restaurant owner, system
designer, system developer and tester. By reading this document a reader can learn about
what the project is implemented for and how it will present it’s basic ideas.
This document has a sequential overview of the whole project so if a reader reads the document
from top to bottom; he will get a clear idea about the project.
We will also use bold letter to emphasis main topics and for all the major functions of the system.
Underline will represent hyperlink. Italic will represent acronyms and useful notes.
We will use some acronyms through this document. Abbreviations and definition of some useful
terms we will use are given below :
Page
12
TERM DEFENITION
SYSTEM ADMIN System admin is a person who is responsible for managing the
whole system and who has full access to the system
SYSTEM USER
A person who is using or operating the system but with a
limited privilege
Page
13
The whole management system is designed for a general Computerized Digital Restaurant, So that
any restaurant owner can get it and can start automated process to his restaurant.
Page
14
([Link]) USER DOCUMENTATION
It will provide specific guidelines to a user for using the online food ordering system.
Furthermore a Video (Slide Show) will be provided which will represent the whole system
function and how it works.
If this system have IOS and Windows app then customers who use such kind of smartphone
(windows and ios) will be more benefited. If there are more Tablets for each tables the
whole system performance will be better. For more secure system it is beneficial to use CC
camera a TV.
There are many types of interfaces as such supported by this software system
namely; User Interface, Software Interface and Hardware Interface.
([Link])User Interfaces
The user interface will be implemented using any android Smartphone app browser. This
interface will be user friendly .So that every kind of customer can place the food order
easily. Customers can also give feedback through it easily with some demo comment or if
they are keen to write their review by own they can do it
Page
15
(4.3.4)FUNTIONAL REQUIREMENTS
Food Order via App
Customer can order food with the app but it needs specific wifi connection.
Take Order
The chef will take the order and if it is available to make then he will confirm the order and start
to prepare food.
Serve Food
When the food is ready to be served then the chef will alert the waiter. After serving the food
the waiter will insure the order as served.
Payment
The cashier will receive the payment if the customer is a member he or she will get
discount.
Available Good
The Chef will add what goods are available and the admin can see that data.
Required Goods
The chief will add what goods are required.
Customer Information
The customer will be get registered and be the member of special customer.
Customer Review
Customer can give overall review about the food and services.
Description The Customer can order food and see their payment receipts and pay.
Page
16
Description
The admin can see the orders of customers and checks whether this order can be taken or not
and then confirms the order and starts preparing the food. When the food is ready the admin
alerts the waiter to serve the food. He can also edit what ingredients are available and what
ingredients are demanded.
Description
The waiter can see the food orders and the ready foods in the kitchen to be served. After
serving the food the waiter will mark the order as served.
The whole system is secured. Only Admin can access all the data.
This system will use HTTPS. Because of this protocol this is more secure.
Page
17
(4.4) DATA DICTIONARY
TABLE NAME:-Admin
Page
18
TABLE NAME:-VIEW_ORDERS
Page
19
TABLE NAME: - MESSAGE
5. MODULE
(5.1)MODULE DISCRIPTION
There are two main modules of online restaurant food ordering system.
Admin
User
whole software. Admin will also view customer order payment details. Admin will able to use
these modules which are following: -
LOGIN: - Login module accepts login username and password. In a login module admin
of the system can access the whole software.
ADD CATEGORY: - In this module admin will able to add category to provide good
service to customer while addition of category admin will have to fill the form such as
category name, category picture etc…
ADD FOOD: - In this module admin will add food while addition of food admin will have
to fill the form such as food name, choose category, rate, discount etc…
UPDATE PRODUCT: - In this module admin will update the added item.
VIEW ORDER: - In this module admin view the order given by the customer.
VIEW MESSAGE: - In this module admin view the message uploaded by the customer on
the portal.
LOG OUT: - In this module user signup from the website.
Page
20
USER: - First of all user registered on the website and then user will able to use various type
of services related with ordering food. The services are as follows: -
SIGNUP: - In this module user register on the website and then able to login with their
register username and password while registering on the website user will have to fill
the form such as name address, city, phone, email, state etc……
LOGIN:- Login module accepts login username or password of the user which allow user
to enter into the website and use various services related for the ordering food.
ORDER FOOD:- In this module user order food with their own choice while ordering the
food user will have fill the form such as select item.
ADD TO CARD:- In this module user will able to view the such as food name, rate,
quantity, total price etc….
PAYMENT OPTION:- In this module admin will choice payment option such as COD(cash on
delivery) ,credit card, debit card, while.
ORDER HISTORY:- This modules allows see the order history such as order number, shipping
address, total cost, status, order rate etc.
LOGOUT:- In this module user signup from the website.
Unit Testing:- UNIT Testing is defined as a type of software testing where individual units/
components of a software are tested.
Unit Testing of software applications is done during the development (coding) of an application.
The objective of Unit Testing is to isolate a section of code and verify its correctness. In
procedural programming, a unit may be an individual function or procedure. Unit Testing is
usually performed by the developer.
In SDLC, STLC, V Model, Unit testing is first level of testing done before integration testing. Unit
testing is a WhiteBox testing technique that is usually performed by the developer. Though, in a
practical world due to time crunch or reluctance of developers to tests, QA engineers also do
unit testing.
Page
21
Module Testing:- A group of related programs that achieve a single task in an application
is usually known as a module. Testing a complete module, a collection of related program units
to check if the module is working properly as a whole and producing the desired output is
known as module testing. Module testing may fall under the category of white box testing as
well as black box testing.
Page
22
5.3 PROCESS LOGIC CHART
ADMIN
Process logic chart(login)
Invalid
Display
message
Fig No.1 (Login)
If valid Successfully
NAME added
ADD CATEGORY Category
Invalid
Failed
Fig no.2 (Add category)
Failed
Page
23
Fig No.3 (Add food)
Unique
Food name Order
View order View viewed
order
Not unique
Not
viewed
Open
If valid history page
Name Order
Order history history
Invalid
Fig No.5 (Order history)
Display
message
View Open
Unique
massage message
page
View View
massage message Not unique
Display
message
Page
24
Fig No .6(View message)
Page
25
Customer
Customer If valid
details
Registered
Sign up Sign up
If invalid
Display
message
Open costumer
Username & If valid panel
password
Login
Login
Invalid
Display
message
Successfully
Unique ordered
Select
Order food Order food
Not unique
Failed
Page
26
5.4. GANT CHART
PROJECT PLANNING
Project
Development SEP 2021 OCT 2021 NOV DEC 2021 JAN FEB 2022
Stages 2021 2022
Requirements
Analysis
20 days
Planning
10days
Analysis
25days
Design
22DAYS
Coding
28days
Testing
24days
Implementation
15days
75%
GUIDE
25%
Page
27
6. TOOLS AND PLATFORM
(6.1). Hardware/software Requirement specification
HARDWARE Requirement
Software Requirement
7. PROJECT Place
(7.1) Are you doing this project for any industry /client? Mention Yes/No. If Yes,
Mention the Name and Address of the Industry or Client.
Ans.:- No
Page
28
Limitation and Future Scope:
Late Deliveries:
With food ordered online some time it takes a lot of time to deliver to the required place as it depends upon
the distance from which it is ordered, as a matter of fact this technological ease has made the current
generation a bit complaisant, while ordering something online it should be kept in mind that the food should
be ordered from the nearest possible outlet so it may reach you in few minutes or else you got to wait long
for the delivery. So, it’s better to be smart enough to order properly by deciding the area rather than reaching
unknowingly and then keep on waiting.
Price Differences:
Well it is not a big problem as far as the delivery thing is concerned, but yes, the price does differ while
ordering some services are found to be free of cost, but some restaurants use to charge extra money for
delivery of food at your place. This price ranges from 3-15$ depending upon from how far you are being
served moreover it is also observed that there is some unusual rise in prices of the online available food
items this may be due to the inclusion of taxes but all in all it is considered as a change and indirectly as a
disadvantage.
Social Interaction:
Having lunch/dinner in a restaurant is quite a fascinating stuff, the ambiance, the social interaction and the
experience of all these things rejuvenates the hunger in you but sitting in your couch and ordering food is a
comforting but complacent approach back to back where people would not enjoy the benefits of reaching
out to other places and enjoying the delights of the social interaction with different environment.
Quality of food:
This is one of the few reasons which has made people reluctant to order food online, sometimes it happens
when food is found to be of low standards then shown or said about. People often go berserk over this, and
they flood your customer’s feedback page with all the possible words which you don’t want to listen about
your brand.
Page
29