Summary of the System: 

There is a lot of scope online food ordering business and we can tap it to the max extent possible as everyone has access to an online ordering facility via the internet. Food business usually will have high demand and hence online business prospect for food ordering should be profitable.  We will provide an easily accessible interface wherein the customer can view and place the order easily.

The customer can register initially with minimum details and will be allowed to check the menu items before ordering them, adding them to cart and submit the order. The system records the details in MySQL database so that it will be easy to retrieve later. The users of the system also include employee/admin who will handle info related to product addition and assigning vehicle for placed orders.

Problem Statement:

The food business in restaurants is being carried out in the same fashion for so many decades. In the restaurants, when the customers visit, they will read the large menu cards which just has the name of the item and price. They have to decide in moments time and place the order just to wait in the queue for getting the ordered items on their table. Sometimes, the waiting time is so huge that the customers will actually lose interest in the item. Moreover, some customers will be in their office or busy to come physically to the restaurant and eat.

To ease the process of ordering the items, giving a description of each item and getting the item on the table the online food ordering system is designed. Some of the common problems are listed below.

The general problems faced while ordering food physically in a restaurant are listed below.

  1. Viewing the complete description of the menu item before ordering.
  2. Placing the order standing in a queue.
  3. Waiting for the customer’s turn to get the food.

These hurdles will be avoided by placing the order online

Users of the System:

The users of the system include the customers and the employees. The employees of the system are responsible for updating the menu items as well as the delivery of the item to a particular address. The customers will visit the website, check for the items available in the menu, order for one or more items in the menu. All the activities such as ordering items online, delivery of the items by employees, the vehicle used to deliver the items etc. will be recorded in the database for all the events.

Users of the database:

The top-level management who owns the food business will be using the database. They can try to infer details like

  1. what is the most demanded item?
  2. Which item is not ordered at all?
  3. What amount of business is made on daily basis?
  4. How the delivery of items is being carried out? etc.

Use Cases:

Use case diagram for Customers

Use case Diagram for Employees

The architecture of the Application 

Entities and its Attributes:

The main entities identified in the system are listed below.

  1. Customer [Attributes -> cid, name, email, pwd, phno, address]
  2. Employee [Attributes -> eid, name, phno, email, password]
  3. Orders [Attributes -> oid, pid, cid, odate, quantity, delivery status, vehicle]
  4. Products [Attributes -> pid, name, description, price, file]
  5. Vehicle [Attributes -> vid, status,vehicle_number]
  6. Cart [Attributes -> id, cid, pid, qty, status] 

Logical Design: 

The identified entities along with the attributes in the system are listed in Section 1. The tables that are designed are given below.

Customer Module:

The customer table consists of below details

  1. cid {primary key} [type : int auto_increment] assigned for each unique customer.
  2. name [type : varchar(30)] represents name of the customer
  3. Email [type : varchar(30)] represents email of the customer
  4. Pwd [type: varchar(30)] used for saving password of the customer
  5. Phnno [type : int(11)] is used for saving phone number of customer
  6. Address [type : text] used for saving the address of the customer

This table is used to get the details of customers

Employee Module:

Employee table is used to save

  1. eid {primary key} [type : int auto_increment] assigned for each unique employee.
  2. name [type : varchar(30)] represents the name of the employee.
  3. Phno [type : int(15)] is for saving phone number of employee
  4. Email [type : varchar(32)] saves the email info of an employee
  5. Password [type : varchar(32)] will save password of employee

Orders Module:

Order table used to save

  1. oid { primary key } [type : int auto_increment] assigned for each order.
  2. pid { foreign key references products: pid } .
  3. Cid [foreign key references customer: cid]
  4. Quantity [type : int (25) ] represents the quantity of the ordered product.
  5. Odate [type : datetime] represents a timeframe of the products ordered by the customer
  6. Quantity [type : int (11)] provides the quantity ordered by the customer
  7. Delivery status [type : tinyint(1)] saves the delivery status whether delivered or pending
  8. Vehicle [type : int(11)] helps in assigning vehicles. foreign key references: vehicles vid

Products Module:

Products tables used to save

  1. pid {primary key} [type : int auto_ioncrement ] assigned for each product.
  2. name [type : varchar(20)] represents the name of the product.
  3. description [type :text] represents the description of the product.
  4. Price [type : double(10,5)] saves the price of the product ordered
  5. File [type : text] saves the image of product ordered

Vehicle Module:

Vehicle table used to save

Vehicle [Attributes -> vid, vehicle number]

  1. vid {primary key} [type : int auto_increment] assigned for each vehicle.
  2. Status [type : int(11)]
  3. Vehicle number [type: varchar(30)] saves the registration number of the vehicle assigned for delivery

Cart Module:

Cart table used to save

Cart [Attributes -> id, cid, pid, qty, status]

  1. Id {primary key} [type : int auto_increment] assigned for each cart
  2. Cid foreign key references customer id from the customer table
  3. Pid foreign key references products table
  4. Qty saves all quantities related to products added in cart
  5. The status will save delivery status

Entity-Relational diagram:

Download Food Ordering Management System PHP & MySQL Project Source Code.