0% found this document useful (0 votes)
16 views

Project

Uploaded by

kkalaiyarasan25
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Project

Uploaded by

kkalaiyarasan25
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

ONLINE FOOD ORDERING WEBSITE

A Project Report
Submitted for the partial fulfillment for
the award of degree of
BACHELOR OF COMPUTER APPLICATIONS

by
AMIRTHA VARSHINI K. - Reg. No. 30520U09002
KRITHIGA N. - Reg. No. 30520U09020
MOHANA PRIYA K. - Reg. No. 30520U09027

under the guidance of


Ms. SINDHUJA C.

Department of Computer Applications


Auxilium College (Autonomous)
Gandhi Nagar, Vellore – 632 006.
April 2023
CERTIFICATE

This is to certify that this project report entitled “ONLINE FOOD ORDERING
WEBSITE”, being submitted to the Auxilium College(Autonomous), Vellore, by
Ms. AMIRTHA VARSHINI K., Ms. KRITHIGA N., Ms. MOHANA PRIYA K.,
for the partial fulfillment for the award of Degree of BACHELOR OF COMPUTER
APPLICATIONS, is a bonafide record of work carried out by them, under our
guidance and supervision. It hasnot been submitted for the award of any other degree.

Ms. Anita Madona M., Ms. Sindhuja C.,


Head and Assistant Professor, Assistant Professor (Guide),
Department of Computer Applications, Department of Computer Applications,
Auxilium College (Autonomous), Auxilium College (Autonomous),
Vellore-632 006. Vellore-632 006.

Submitted for the Viva-Voce Examination on……………………….

Examiners:

1.

2.
ACKNOWLEDGEMENT

I thank, the Almighty God who showered his immense blessings, to


complete this project successfully.

I am thankful to the management of Auxilium College (Autonomous),


which has imparted me sufficient knowledge and confidence to complete the
project in the field of Computer Applications.

I express my special thanks to Dr. (Sr.) Jaya Santhi R., Principal,


Auxilium College (Autonomous), Vellore, for giving me the necessary
environment to acquire knowledge, skill and for her constant encouragement for
the successful completion of the project.

I am highly indebted to Ms. Anita Madona M., Head and Assistant


Professor, Department of Computer Applications, Auxilium College
(Autonomous), Vellore, for her beneficial and inspiring guidance and
encouragement given throughout the period of this project.

I express my gratitude to Ms. Sindhuja C., Assistant Professor,


Department of Computer Applications, Auxilium College (Autonomous),
Vellore, for her valuable support, guidance and suggestions throughout my
project.

I also express my whole hearted thanks to all the staff members of the
Department of Computer Applications and to My Parents and Friends for their
constant encouragement to bring this project to a successful completion.
TABLE OF CONTENTS

List of Tables………………………………………………………...………...……vi
List of Figures………………………………….……………..……………...……..vii
Abstract………………………………………………………………………….…..ix
1 Introduction…………………………………………...……………………..……10
2 System Analysis………………………………………...………………………...11
2.1 Existing System……………………………………………………………….11
2.1.1 Disadvantages…………………………………………...…………...…12
2.2 Proposed System………………………………………………………….…..12
2.2.1 Advantages…………………………………………...………………....13
3 Project Description…………………………………………...…………………...14
3.1 Module Specification…………………………………………...…….………14
3.1.1 Customer Module…………………………………………...………......14
3.1.1.1 Home ……………………………………………………….…..15
3.1.1.2 Food Menu……………………………………………..……….15
3.1.1.3 About Us…………………………………………………..…….15
3.1.1.4 Contact Us……………….……………………………..……….15
3.1.1.5 My Cart…………………………………………………..……...15
3.1.1.6 Track Order…………………………………………..…………15
3.1.2 Admin Module…………………………………………………....16
3.1.2.1 Dashboard………….…………………………………………...16
3.1.2.2 Registered Users………………………………………………...16
3.1.2.3 Food Category…………………………………………………..16
3.1.2.4 Food Menu……………………………………………………...16
3.1.2.5 Orders…………………………………………………………...16
3.1.2.6 Reports…………………………………………….....................17
4 System Requirements…………………………………………...………………...17
4.1 Software Requirements……………………………………………………….17

iv
4.2 Hardware Requirements………………………………………………............17
5 Functional Requirements…………………………………………...……………..18
5.1 Input And Output Formats…………………………………………………….19
5.2 Table Structure……………………………………………………………......22
6 System Design…………………………………………...…………………..........26
6.1 Flow Chart…………………………………………………………………….26
7 Software Specification…………………………………………...……………….28
7.1 Html……………………………………………………………………...……28
7.2 Css…………………………………………………………………….............29
7.3 Php………………………………………………………………………….....29
7.4 Javascript……………………………………………………………………...30
7.5 XAMPP……………………………………………………………………….30
7.6 Visual Studio………………………………………………………………….30
8 System Testing…………………………………………...……………………….31
8.1 Unit Testing…………………………………………………………..……….31
9 System Implementation…………………………………………...………………34
10 User Manual…………………………………………...…………………...........51
11 Conclusion…………………………………………...…………………………..52
11. 1 Future Enhancement……………………………………………………….52
Appendix ...…………………………………………...……………………………53
Sample Screens………………………………………………………………….53
Bibliography…………………………………………...…………………………..62

v
LIST OF TABLES

Table 5.2.1 User Table………………………………………………………………22

Table 5.2.2 Admin Table …………………………………………………………...23

Table 5.2.3 Category Table …………………………………………………………23

Table 5.2.4 Food Table……………………………………………………………...24

Table 5.2.5 Order Tracking Table…………………………………………………...24

Table 5.2.6 Order Table……………………………………………………………..27

Table 5.2.7 Order Address…………………………………………………………..27

Table 8.1 Customer login verify…………………………………………………….32

Table 8.2 Admin login verify…………….………………………………………….33

vi
LIST OF FIGURES

Fig. 5.1.1 Register page…………………………………………...………………...19

Fig. 5.1.2 Login page………………………………………...……………………...20

Fig. 5.1.3 My Cart…………………………………………………………………...20

Fig. 5.1.4 Payment page………………………………………………...…………..21

Fig. 5.1.5 Order details…………………………………………………...…………21

Fig. 5.1.6 Track order……………………………………………………...………..22

Fig. 6.1.1 Flowchart…………………………………………………..…….…........27

Fig. A-1 Home page………………………………………………………………...53

Fig. A-2 Register page………………………………………………………………54

Fig. A-3 Login page………………………………………………………………....54

Fig. A-4 Food Item……………………………………………………………….....55

Fig. A-5 Cart………………………………………………………………...............55

Fig. A-6 Payment page……………………………………………………………...56

Fig. A-7 Online Payment……………………………………………………………56

Fig. A-8 Invoice……………………………………………………..………….......57

Fig. A-9 Track Order………………………………………………..………………57

Fig. A-10 Admin Login page………………………………………………………..58

Fig. A-11 Update order……………………………………………………………...58

Fig. A-12 Manage user……………………………………………………………...59

vii
Fig. A-13 Manage category…………………………………………………………59

Fig. A-14 Manage Food Items………………………………………………………60

Fig. A-15 View Order Details……………………………………………………….60

Fig. A-16 View Sales Report………………………………………………………..61

viii
ABSTRACT

“Online Food Ordering Website” is considered as an increasingly used


application in restaurant management. Just a few years ago people used to spend long
time waiting for a table to be ready for them at a restaurant. And after that, they would
wait longer time to order their food. With great technology in general and the internet
in specific, customers can be happy by using online food ordering. This facilitates the
work of restaurant managers and customers. The system will make the entire process
for the restaurant manager much easier and faster compared with traditional methods.
On the other hand, these days customers can place their orders and enjoy by clicking
on their computer or smart devices. We have many categories of food items with
attractive images and many customers can order their food at different time. The
admin can maintain the records of each order and customer details. The admin can
maintain the records of each orders. We get more profit than others because we don’t
have to give commission to third-party dealers like Zomato, Swiggy, etc. Because of
the online platform, we can deal with lots of customers at the same time. The financial
statistics will also be improved.

ix
1 INTRODUCTION

Online Food Ordering is a website, this greatly simplifies the ordering process for
both the customer and the restaurant. This system provides service facility to
restaurant and also to the customer. This website can be used by the admin in
restaurant to handle their customer and their orders. This 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 which will land in the cart.
Customer can view all the order details in the cart before placing order. At the end,
customer gets order confirmation details. Once the order is placed it will enter into
the database. This allows admin to quickly go through the orders as they are
received and process all the order efficiently and effectively with minimal delays
and confusion. This system manages and maintain the records of customer and their
online orders. So that the valuable data/information can be stored for a longer period
with easy accessing and manipulation. We have separate modules for customer and
admin. Customer can interact with this website by logging in and can access
modules such as home page, food menu, contact us, About us, my cart and track
order. Admin can manage the food items and view the overall report of the sales.

10
2 SYSTEM ANALYSIS

System analysis is the process of studying a procedure or business to identify its


goals and purposes and create systems and procedures that will efficiently achieve
them. System analysis as a problem- solving technique that breaks down a system
into its component pieces, and how well those parts work and interact to accomplish
their purpose.

2.1 Existing System

In traditional ordering system customer has to go to the restaurant or make a


phone call in order to place an order. For placing an order customers need to know
about the food items that are available and then place the order and pay. While
placing an order over the phone call to restaurant manager, customer lacks the
physical copy of the menu item, lack of visual confirmation that the order was
placed correctly. In existing system, the order of the customer will be on hold with
the specific priority according to time and quantity of the food. The problem in the
existing system is that if the customer wants to order from their location by
connecting over the phone, it could be harder if the restaurant is popular and busy.
The current system cannot manage and monitor the restaurant’s waiter information,
menu information, customer ordering information and it will not generate the report.
Every restaurant needs certain employees to take the order over phone or in-person.
Today’s market, labor rates are increasing day by day making it difficult to find
employees when needed.

11
2.1.1 Disadvantages

• Records are not maintained confidentially.


• It takes more time to order.
• As customer won’t have the menu list with him, it would be harder for him
to remember the entire list and come to a decision, (i.e. customer is provided
with less time to make decision).
• There might be some communication problems or sometimes language might
be a barrier.
• As entire ordering has to be done through communication at the restaurant
end, the chance of mistake is high.

2.2 Proposed System

The customer can view the food items of a particular restaurant from home and
can place an order. Proposed system contains separate modules for customer and
admin. This website enables the user to login, select the food items of their choice
from the menu list, and that will be added in the cart for the order food. Also, the
payment can be made through online mode or at the time of home delivery
depending upon the customer’s choice and convenience. The order placed by the
customers can be viewed by the admin. Admin can update the status of the ordered
food to the customer, then the admin forwards the parcels to the delivery person
assigned with the location and customer address along with the bill status. Customer
can also print the invoice of ordered food. Customer can track the status of the
ordered food with the help of order number. This system has been developed to
generate daily and periodical report. With this system online, ordering will become
easier and systematic to replace traditional system. The main point of developing
this system is to help restaurant administrator manage the restaurant business and
help customer for online ordering. The customer is also given with the facility to
view the status of the order and if the order is ready.

12
2.2.1 Advantages

• Since it is online ordering, this system will help to reduce the labor cost and
the possibility of making mistakes will be less.
• With this website the work load of the waiters in the restaurant will be
reduced.
• One of the various benefits of this system is that if there is rush or a huge
crowd present in the restaurant then in that case sometimes unavailability of
tables cut downs the restaurants customer, so they can directly order their
food through this website.
• User friendly and less consumption of time and easy access.
• Online ordering system can make day-to-day operation more efficient for
A restaurant
• This system helps to enhance the customer-restaurant relationship by
providing end to end Customer Relationship Management system.
• More customers prefer ordering directly from the restaurant than third party
services such as Swiggy, Zomato.

13
3 PROJECT DESCRIPTION

This project is to develop a website that allows the customers to order their
desired food items from their working location. This project allows the customer to
view the menu and place an order through online, the admin interface that enables
can update the status of customer orders. The main objective of this project is to
manage the details of food items, payment, category, customer, confirm order of
particular restaurant. The following points simplify the objectives of this project
more clearly

• This project will increase the efficiency and improve the services provided to
the customers through better application of technology in daily operations.
• It enables the customers to order their desire food through online
• To make all the work easier and computerized.
• To increase the speed of service and customers satisfaction.
• Provides the searching facilities based on various factors. Such as Food Item,
Customer, Order, Confirm Order.
• It increases the efficiency of managing the food items and category.
• Manage the information of food item, food category, status of ordered food.
• Editing, adding, updating and deleting food category and food items.

3.1 Module Specification


• Customer Module
• Admin Module
3.1.1 Customer Module
• Home
• Food Menu
14
• About Us
• Contact Us
• My Cart
• Track Order

3.1.1.1 Home

Customer can view all the categories of the food items and all the
modules given below.

3.1.1.2 Food Menu

Customer can select the category and can view the food items in that
category. (i.e., starter, main course, milkshakes, Chinese, desserts, soups,
burger, pizza, south Indian, North Indian)

3.1.1.3 About Us

Customer can view the about us module to know more about the
description of our restaurant.

3.1.1.4 Contact Us

In contact us module customer can view the address, email id and


contact details of the restaurant.

3.1.1.5 My Cart

The selected food items will be added in my cart and it will generate the
grand total and then the customer can place the order by filling up the
address details.

3.1.1.6 Track Order

After placing an order customer will get the order number to track the
order status. Also, the payment can be made through online mode or at the
time of delivery depends upon the customer’s choice and convenience.

15
3.1.2 Admin Module
• Dashboard
• Registered Users
• Food Category
• Food Menu
• Orders
• Report

3.1.2.1 Dashboard

Admin can view total orders, new orders, total food delivered, number
of orders cancelled, total number of registered users and can give the
messages such as order is confirmed, food being prepared or food pickup.

3.1.2..2 Registered Users

Admin can view the total number of registered users and their details
like name, email id, mobile number and admin can edit the user details.

3.1.2.3 Food Category

Admin can add, edit and delete the food category.

3.1.2.4 Food Menu

Admin can add, edit and delete the food items.

3.1.2.5 Orders

Admin can check all the order details, number of orders confirmed,
number of orders not yet confirmed, number of orders cancelled, number of
foods being prepared, number of foods picked up, number of foods
delivered.

16
3.1.2.6 Reports

Admin can view the overall of report of order, sales and customer
details.

4 SYSTEM REQUIREMENTS

4.1 Software Requirement

• Frontend : html, CSS, JavaScript


• Backend : PHP, MYSQL
• Ide : Visual studio
• Web browser : (Microsoft , chrome)
• XAMPP server

4.2 Hardware Requirement

• Operating System : Windows 10 or above


• Processor : x86 or x64
• Ram : 8GB
• Hard Disk : 256 SSD
• Input device : Keyboard, Mouse

17
5 FUNCTIONAL REQUIREMENT

Functional requirements are the state of services the system should provide,
how the system should react to the particular input and how the system should
behave in particular situation. Functional requirement is a statement of how a system
must behave. It defines as a function of a system or its component, where a function
is described as a specification of behavior between inputs and outputs. Some of the
functional requirements of our project “Online Food Ordering Website” includes:

• Customer can view food menu.


• Customer can be able to select the food items and that will be added into the
cart.
• Customer can place their order.
• Customer can track their orders through order number.
• Customer can be able to view the invoice of their order and can print.
• Customer can choose their payment option.
• Admin can be able to update menu items.
• Admin can manage the order of the customer.
• Admin can be able to view sales report.

18
5.1 Input and Output Formats

SIGN UP
X

First Name Last Name

Email id

Mobile Number

Password

Confirm Password

REGISTER NOW

Already registered? Sign in Recovery my password

Fig. 5.1.1 Register page

19
SIGN IN X

Registered Email or Contact Number

Password

SIGN IN

Not registered yet? Sign up Recovery my password

Fig. 5.1.2 Login page

Food Item Quantity Per Unit Price Total

Dosa 1 85 85

Prawn 65 2 300 600

Grant Total 685

Flat or building number Street name

Area Location

City Cash on delivery/ online pay

Place order

Fig. 5.1.3 My Cart

20
Choose the way you want to have your food

Choose your payment option

Choose your payment mode


Cash on Delivery Online Pay

Fig. 5.1.4 Payment page

Order number 780664718 Order 2023-04-07 16:13:25


date/time

Order status Waiting for Restaurant confirmation(track order)

Delivery Address

Flat / building No.94 Street Name Brahmin street


no

Area Kangeyanallur Landmark Near Auxilium college

City Vellore Payment Online pay


mode

Fig. 5.1.5 Order details

21
S.NO Remark Status Time

1 Food will be delivered within Order 2023-04-07


confirmed(by 16:13:25
30 mins
restaurant)

Fig. 5.1.6 Track order

5.2 Table Structure

User Table

Column Name Type Description

ID int(10) Primary key. Serial number of the


registered user

First Name varchar(45) First name of the user

Last Name varchar(50) Last name of the user

Email varchar(20) User email

Password Varchar(20) Password to login

RegDate timestamp Date of registration

Table 5.2.1 User table

22
Admin Table

Column Name Type Description

ID int(10) Primary key. Serial number of user

Admin Name varchar(45) Name of the admin

User Name varchar(50) User name to login

Mobile Number Bigint(11) Mobile number of the admin

Email varchar(20) Admin email

Password Varchar(20) Password to login

AdminRegData timestamp Date of registration

Table 5.2.2 Admin table

Category Table

Column Name Type Description

ID int(5) Primary key. Serial number of category

Category Name varchar(120) Category name

CreationDate timestamp Time of creating the category

Table 5.2.3 Category table

23
Food Table

Column Name Type Description

ID int(10) Primary key. Serial number of food item

Category Name varchar(120) Name of the Category

ItemName varchar(120) Name of the food item

ItemPrice varchar(500) Price of the food item

Image varchar(120) Image of the food

ItemQty varchar(120) Quantity of the food

Table 5.2.4 Food table

Order tracking table

Column Name Type Description

ID int(10) Primary key. Serial number

Order Id char(120) Order number

Remark varchar(120) Remark of the order

Status varchar(500) Status of the ordered food

Table 5.2.5 order tracking table

24
Order table

Column Name Type Description

ID int(10) Primary key. Serial number of order

User Id char(120) Id of the user

Food Id char(120) Id of the food

FoodQty int(11) Quantity of the food

Table 5.2.6 order table

Order Address Table

Column Name Type Description

ID int(10) Primary key. Serial number of order

User Id char(120) Id of the user

Flat number Varcahr(100) Flat number to deliver the food

Street name Varchar(100) Street name to deliver the food

area Varchar(100) Area to deliver the food

landmark Varchar(100) Landmark to deliver the food

Table 5.2.7 Order Address table

25
6 SYSTEM DESIGN

System design is the process of defining the elements of a system such as


architecture, modules and components, the different interfaces of those components
and the data that goes through that system. It is meant to satisfy specific needs and
requirements of a business or organization through the engineering of a coherent and
well-running system. One of the main components of software design is the software
requirement analysis. In this project there is one database used to store the
information of the customer who have registered their account in the website.

6.1 Flow Chart

System flowcharts are the diagram type that shows you the flow of data and
how decisions can affect the events surrounding it. System flowcharts consist of
start/end terminals, processes, and decisions, all connected by arrows showing the
flow and how data moves in the flow.

The blow fig. 6.1.1 explains the process of customer and the admin while
interacting with this website. First customers have to login with the registered
username and password if it is invalid it returns to login page else redirects to home
page. Then customer can view the food menu and can select the food items, the
selected the food items will be stored in the cart, place an order, choose the payment
mode and track the order with order number.

The admin have to login with username and password if it is invalid it returns to
login page else redirect to dashboard. Admin can add category and food items.
Update the status of ordered food. Update the user details and view the order and
sales report.

26
Login Username and
Password
Registration

Verify
Username Invalid details
and
password

Admin Customer

View Menu

Add Category
Order Food
Add Menu
View cart

Update order status


Place Order

View and update User

Choose Payment Mode


View order and sales
Mode
report
Track Order

Log out

Fig. 6.1.1 Flowchart

27
7 SOFTWARE SPECIFICATION

7.1 HTML

The Hypertext Markup Language or 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.

•<html>: The<html> tag represents the root of an HTML document. The tag is
the container for all other HTML elements. It begins with <html> and ends with
</html> tag.

•<head>: The element is a container for metadata (data about data) and is
placed between the <html> tag and the <body> tag. Metadata is data about the
HTML document. Metadata is not displayed. Metadata typically define the
document title, character set, styles, scripts, and other meta information

•<title>: The <title> tag defines the title of the document. The title must be
text-only, and it is shown in the browser's title bar or in the page's tab.
28
7.2 CSS

Cascading style sheets (CSS) is a style sheet language used for describing the
presentation of a document written in markup language such as HTML or XML.
CSS is a cornerstone technology of the World Wide Web, alongside HTML and
JavaScript. CSS was first developed in 1996, as a way for web developers to define
the look and feel of their web pages

CSS is designed to enable the separation of content and presentation, including


layouts, colors and fonts. This separation can improve content accessibility, provide
more flexibility and control in the specification of presentation characteristic, enable
multiple web page to share formatting by specifying the relevant CSS in a separate
.css file, which reduces complexity and repetition in the structural content.

7.3 PHP

PHP (Hypertext Pre-processor) is a general purpose scripting languages that is


especially suited for web development. The PHP code is enclosed with <?php
and?>.

PHP code is usually processed on a web server by a PHP interpreter


implemented as a module, a daemon or as Common Gateway Interface (CGI)
executable. On a web server, the result of the interpreted and executed PHP code –
which may be any type of data, such as generated HTML or binary image data-
would form the whole or part of an HTTP response. Various web template systems,
and web content management system, and web frameworks exist which can be
employed to orchestrate or facilitate the generation of that response. Additionally,
PHP can be used for many programming tasks outside the wen context, such as
standalone graphical applications and robotic drone control. PHP code can also be
directly executed for, the command line.

29
7.4 JavaScript

JavaScript is a programming language that is one of the core technologies of the


World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use
javascript on the client side for webpage behaviour, often incorporating. All major
the browsers have a dedicated javascript engine to execute the code on users’ device.

JavaScript is a high level, often just-in-time compiled language that conforms to


the ECMAScript standard. It has dynamic typing, prototype-based object-
orientation, and first-class function. It is multi-paradigm, supporting event-driven,
functional, and imperative programming styles. It has application programming
interfaces (APLs) for working with text, dates, regular expressions, standard data
structures, and Document Object Model (DOM).

7.5 XAMPP

XAMPP is one of the widely used cross platform web servers which helps
developers to create and test their programs on a local web server. It was developed
by the Apache Friends, and it’s native source code can be revised or modified by the
audience.

It consist of Apache HTTP Server, MariaDB and interpreter for the different
programming languages like PHP and Perl. It is available in 11 languages and
supported by different platforms such as IA-32 package of windows & X64 package
of macOS and Linux.

7.6 Visual Studio

Visual studio is used to develop computer programs including websites, web


apps, web services, and mobile apps. Visual studio uses Microsoft software
development platforms such as windows API, windows forms, windows
presentation foundation, windows store and Microsoft Silverlight
30
8 SYSTEM TESTING

System testing is the level of software testing where a complete and integrated
software is tested. The purpose of this test is to evaluate the systems compliance
with the specified requirements. System testing look after the testing of the system
that has been developed to ensure it has meet it specified requirements. As a fairly
flexible methodology adopted for the development, the testing of the application
started during it’s development with bugs being fixed as they were discovered. After
each section of the application was completed, it was tested so that errors could be
corrected.

8.1 Unit Testing

Unit testing was under taken during the actual implementation of the system.
Unit testing is a type of software testing that focuses on individual units or
components of a software system. Each time when some code was written it will be
executed and monitored for the bug. As bugs were discover it will be corrected by
modifying the existing code. Unit testing is performed by developers and it is
performed early in the development process before the code is integrated and tested
as a whole system. Functionality testing and interface testing combined to ensure the
system functionality as requirement.

31
Customer login is tested by the details filled by the customer during the registration.

Registered Email id: [email protected] and Password: rani

Test Test Scenario Test Data Expected Status

Case Result

1 Check response when Email id= Email id Message Pass


invalid email id/contact display ”Invalid
Password=password
number and password is details”
entered.

2 Check response with Email id = Message Pass


blank email id/contact display ”Please
Password=
number and password is fill out this
entered. field”

3 Check response when [email protected] Message Pass


correct email id/contact display ”Invalid
Password=XXX
number and incorrect details”
password is entered.

4 Check response when [email protected] Message Pass


incorrect email id/contact display ”Invalid
Password=rani
number and correct details”
password is entered.

5 Check response when [email protected] Redirect to Pass


valid email id/contact Home page
Password=rani
number and password is
entered.

Table 8.1 Customer login verify

32
Test Test Scenario Test Data Expected Status

Case Result

1 Check response when Username=username Message Pass


invalid username and display ”Invalid
Password=password
password is entered. details”

2 Check response with Username= Message Pass


blank username and display ”Please
Password=
password is entered. fill out this
field”

3 Check response when Username=admin Message Pass


correct username and display ”Invalid
Password=rani
incorrect password is details”
entered.

4 Check response when Username=ram Message Pass


incorrect username and display ”Invalid
Password=admin
correct password is details”
entered.

5 Check response when Username=admin Redirect to Pass


valid username and Dashboard
Password=admin
password is entered.

Table 8.2 Admin login verify

33
9 SYSTEM IMPLEMENTATION

Register

<?php

if(isset($_POST['submit']))

$fname=$_POST['firstname'];

$lname=$_POST['lastname'];

$contno=$_POST['mobilenumber'];

$email=$_POST['email'];

$password=$_POST['password'];

$ret=mysqli_query($con, "select Email from tbluser where Email='$email' ||


MobileNumber='$contno'");

$result=mysqli_fetch_array($ret);

if($result>0){

echo "<script>alert('This email or Contact Number already associated with another


account');</script>";

else{

$query=mysqli_query($con, "insert into tbluser(FirstName, LastName,


MobileNumber, Email, Password) value('$fname', '$lname','$contno', '$email',
'$password' )");

34
if ($query) {

echo "<script>alert('You have successfully registered');</script>";

echo "<script>window.location.href='index.php'</script>";

else

echo "<script>alert('Something Went Wrong. Please try again.');</script>";

echo "<script>window.location.href='index.php'</script>";

?>

<script type="text/javascript">

function checkpass()

if(document.signup.password.value!=document.signup.repeatpassword.value)

alert('Password and Repeat Password field does not match');

document.signup.repeatpassword.focus();

return false;

return true;

35
}

</script>

<div class="sign-popup text-center">

<div class="sign-popup-wrapper brd-rd5">

<div class="sign-popup-inner brd-rd5">

<a class="sign-close-btn" href="#" title="" itemprop="url"><i class="fa fa-


close"></i></a>

<div class="sign-popup-title text-center">

<h4 itemprop="headline">SIGN UP</h4>

</div>

<span class="popup-seprator text-center"><i class="brd-rd50">Signup</i></span>

<form class="sign-form" name="signup" onsubmit="return checkpass();"


method="post">

<div class="row">

<div class="col-md-6 col-sm-6 col-lg-6">

<input class="brd-rd3" type="text" id="firstname" name="firstname"


required="true" placeholder="First Name">

</div>

<div class="col-md-6 col-sm-6 col-lg-6">

<input class="brd-rd3" type="text" id="lastname" name="lastname" required="true"


placeholder="Last Name">

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

36
<input class="brd-rd3" type="email" name="email" required="true"
placeholder="Email id">

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<input class="brd-rd3" id="mobilenumber" name="mobilenumber" required="true"


maxlength="10" pattern="[0-9]{10}" title="Mobile must contain 10 digits only"
placeholder="Mobile Number">

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<input class="brd-rd3" type="password" name="password" required="true"


required="true" placeholder="Password">

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<input class="brd-rd3" type="password" id="repeatpassword"


name="repeatpassword" required="true" placeholder="Confirm Password">

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<button class="red-bg brd-rd3" type="submit" name="submit">REGISTER


NOW</button>

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<a class="sign-btn" href="#" title="" itemprop="url">Already Registered? Sign


in</a>

37
<a class="recover-btn" href="forgot-password.php" title=""
itemprop="url">Recover my password</a>

</div>

</div>

</form>

</div>

</div>

</div>

Login

<?php

if(isset($_POST['login']))

$emailcon=$_POST['emailcont'];

$password=$_POST['password'];

$query=mysqli_query($con,"select ID,Email from tbluser where


(Email='$emailcon' || MobileNumber='$emailcon') && Password='$password' ");

$ret=mysqli_fetch_array($query);

if($ret>0){

$_SESSION['fosuid']=$ret['ID'];

$_SESSION['uemail']=$ret['Email'];

echo "<script>window.location.href='index.php'</script>";

else{
38
echo "<script>alert('Invalid details');</script>";

?>

<div class="log-popup text-center">

<div class="sign-popup-wrapper brd-rd5">

<div class="sign-popup-inner brd-rd5">

<a class="log-close-btn" href="#" title="" itemprop="url"><i class="fa fa-


close"></i></a>

<div class="sign-popup-title text-center">

<h4 itemprop="headline">SIGN IN</h4>

</div>

<form class="sign-form" method="post">

<div class="row">

<div class="col-md-12 col-sm-12 col-lg-12">

<input class="brd-rd3" name="emailcont" id="email" placeholder="Registered


Email or Contact Number" required>

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<input class="brd-rd3" type="password" id="password" name="password"


placeholder="Password" required>

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

39
<button class="red-bg brd-rd3" type="submit" name="login">SIGN IN</button>

</div>

<div class="col-md-12 col-sm-12 col-lg-12">

<a class="sign-popup-btn" href="#" title="Register" itemprop="url">Not Registered


yet? Sign up</a>

<a class="recover-btn" href="forgot-password.php" title=""


itemprop="url">Recover my password</a>

</div>

</div>

</form>

</div>

</div>

</div>

Index

<?php

session_start();

include_once('includes/dbconnection.php');

if(isset($_POST['addcart']))

$foodid=$_POST['foodid'];

$foodqty=$_POST['foodqty'];

$userid= $_SESSION['fosuid'];

40
$query=mysqli_query($con,"insert into tblorders(UserId,FoodId,FoodQty)
values('$userid','$foodid','$foodqty') ");

if($query)

echo "<script>alert('Food has been added in to the cart');</script>";

} else {

echo "<script>alert('Something went wrong.');</script>";

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-


fit=no">

<meta name="description" content="" />

<meta name="keywords" content="" />

<title>Food Ordering System</title>

<link rel="stylesheet" href="assets/css/icons.min.css">

<link rel="stylesheet" href="assets/css/bootstrap.min.css">

<link rel="stylesheet" href="assets/css/main.css">

<link rel="stylesheet" href="assets/css/red-color.css">


41
<link rel="stylesheet" href="assets/css/yellow-color.css">

<link rel="stylesheet" href="assets/css/responsive.css">

<style>

.blackish:before {

background-color: #00000063;

.popular-dish-info .log-popup-btn {

background-color: #d01212;

color: white;

margin-left: 0px;

</style>

</head>

<body itemscope>

<?php include_once('includes/header.php');?>

<section>

<div class="block blackish opac90">

<div class="fixed-bg" style="background-image:


url('https://assets.cntraveller.in/photos/62ac8a4d4507a8eb3d09d1b8/master/w_1600
%2Cc_limit/AKINA%25201%2520Final.jpg');"></div>

<div class="restaurant-searching style2 text-center">

<div class="restaurant-searching-inner">

<span>Welcome to <i>Foodie Restaurant</i> </span>


42
<h2 itemprop="headline">"Take Away food order"</h2>

<form class="restaurant-search-form2 brd-rd30" method="post" action="search-


result.php">

<input class="brd-rd30" type="text" placeholder="Dish Name" required="true"


name="searchdata">

<button class="brd-rd30 red-bg" type="submit" name="search">SEARCH</button>

</form>

</div>

</div><!-- Restaurant Searching -->

</div>

</section>

<section>

<div class="block less-spacing gray-bg top-padd30">

<div class="container">

<div class="row">

<div class="col-md-12 col-sm-12 col-lg-12">

<div class="sec-box">

<div class="remove-ext">

<div class="row">

<?php

if (isset($_GET['page_no']) && $_GET['page_no']!="") {

$page_no = $_GET['page_no'];

} else {
43
$page_no = 1;

$total_records_per_page = 12;

$offset = ($page_no-1) * $total_records_per_page;

$previous_page = $page_no - 1;

$next_page = $page_no + 1;

$adjacents = "2";

$result_count = mysqli_query($con,"SELECT COUNT(*) As total_records FROM


tblfood");

$total_records = mysqli_fetch_array($result_count);

$total_records = $total_records['total_records'];

$total_no_of_pages = ceil($total_records / $total_records_per_page);

$second_last = $total_no_of_pages - 1; // total page minus 1

$result = mysqli_query($con,"SELECT * FROM tblfood LIMIT $offset,


$total_records_per_page");

while($row = mysqli_fetch_array($result)){

?>

<div class="col-md-4 col-sm-6 col-lg-4">

<div class="popular-dish-box style2 wow fadeIn" data-wow-delay="0.2s">

<div class="popular-dish-thumb">

<a href="food-detail.php?fid=<?php echo $row['ID'];?>" title=""


itemprop="url"><img src="admin/itemimages/<?php echo $row['Image'];?>"
alt="<?php echo $row['ItemName'];?>" itemprop="image" width="400"
height="180"></a>
44
</div>

<div class="popular-dish-info">

<h4 itemprop="headline"><a href="food-detail.php?fid=<?php echo $row['ID'];?>"


title="" itemprop="url"><?php echo $row['ItemName'];?></a></h4>

<form method="post">

<p itemprop="description">

<input type="hidden" name="foodid" value="<?php echo $row['ID'];?>">

<input class="qty" name="foodqty" type="text" value="1">

</p>

<span class="price">₹ <?php echo $row['ItemPrice'];?></span>

<?php if($_SESSION['fosuid']==""){?>

<a class="log-popup-btn btn pull-right blue-bg brd-rd3" href="#"


title="Login">Order Now</a>

<?php } else {?>

<button type="submit" name="addcart" class="btn pull-right blue-bg brd-


rd3">Order Now</button>

<?php } ?>

</form>

</div>

</div>

</div>

<?php } ?>

</div>

45
</div>

<div class="pagination-wrapper text-center">

<ul class="pagination justify-content-center">

<?php ?>

<li class="page-item prev" <?php if($page_no <= 1){ echo "class='disabled'"; } ?>>

<a class="page-link brd-rd2" <?php if($page_no > 1){ echo


"href='?page_no=$previous_page'"; } ?>>Previous</a>

</li>

<?php

if ($total_no_of_pages <= 10){

for ($counter = 1; $counter <= $total_no_of_pages; $counter++){

if ($counter == $page_no) {

echo "<li class='active'><a>$counter</a></li>";

}else{

echo "<li><a href='?page_no=$counter'>$counter</a></li>";

elseif($total_no_of_pages > 10){

if($page_no <= 4) {

for ($counter = 1; $counter < 8; $counter++){

if ($counter == $page_no) {

46
echo "<li class='active'><a>$counter</a></li>";

}else{

echo "<li><a href='?page_no=$counter'>$counter</a></li>";

echo "<li><a>...</a></li>";

echo "<li><a href='?page_no=$second_last'>$second_last</a></li>";

echo "<li><a href='?page_no=$total_no_of_pages'>$total_no_of_pages</a></li>";

elseif($page_no > 4 && $page_no < $total_no_of_pages - 4) {

echo "<li><a href='?page_no=1'>1</a></li>";

echo "<li><a href='?page_no=2'>2</a></li>";

echo "<li><a>...</a></li>";

for ($counter = $page_no - $adjacents; $counter <= $page_no + $adjacents;


$counter++) {

if ($counter == $page_no) {

echo "<li class='active'><a>$counter</a></li>";

}else{

echo "<li><a href='?page_no=$counter'>$counter</a></li>";

echo "<li><a>...</a></li>";

47
echo "<li><a href='?page_no=$second_last'>$second_last</a></li>";

echo "<li><a href='?page_no=$total_no_of_pages'>$total_no_of_pages</a></li>";

else {

echo "<li><a href='?page_no=1'>1</a></li>";

echo "<li><a href='?page_no=2'>2</a></li>";

echo "<li><a>...</a></li>";

for ($counter = $total_no_of_pages - 6; $counter <= $total_no_of_pages;


$counter++) {

if ($counter == $page_no) {

echo "<li class='active'><a>$counter</a></li>";

}else{

echo "<li><a href='?page_no=$counter'>$counter</a></li>";

?>

<li class="page-item next" <?php if($page_no >= $total_no_of_pages){ echo


"class='disabled'"; } ?>>

<a class="page-link brd-rd2" <?php if($page_no < $total_no_of_pages) { echo


"href='?page_no=$next_page'"; } ?>>Next</a>

48
</li>

<?php if($page_no < $total_no_of_pages){ ?>

<li class="page-item next"><a class="page-link brd-rd2" href='?page_no=<?php


echo $total_no_of_pages;?>'>Last &rsaquo;&rsaquo;</a></li>

<?php

} ?>

</ul>

</div>

</div>

</div>

</div>

</div>

</div>

</section>

<?php include_once('includes/footer.php');

include_once('includes/signin.php');

include_once('includes/signup.php');

?>

</main>

<script src="assets/js/jquery.min.js"></script>

<script src="assets/js/bootstrap.min.js"></script>

<script src="assets/js/plugins.js"></script>

49
<script src="assets/js/main.js"></script>

</body>

</html>

Logout

<?php

session_start();

session_destroy();

header("location:index.php");

?>

50
10 USER MANUAL

• Download Visual Studio Code version 1.7.5

• Link to download ” https://code.visualstudio.com/”

• Download XAMPP server version 8.2.0

• Link to download “https://www.apachefriends.org/”

• Extract the file

• Copy the project folder and past in xampp/htdocs

• Open xampp control panel

• Start MySQL and click admin

• It will open http://localhost/phpmyadmin/

• Create a database naming fosdb. Import the sql file from your folder.

• Start apache and click admin to run the program

• It will open http://localhost/foodie/

• Then run the program will be displayed

51
11 CONCLUSION

We have websites like Swiggy, Zomato but our aim is to create a website for
a particular restaurant where the customer can enjoy their food by ordering through
website. This project is useful in busy world where the customer can order their food
from their home or working place and it is user friendly. This project reduce the
work of admin by storing the records of food and customer details. The restaurant
expenditure will be less. This project helped me to get a practical exposure to work
in environment.

11.1 Future Enhancement

Some of the future enhancement of this project are:

• More modules can be added in future such as table reservation, party hall
booking.
• Customer can give their reviews and rating about our restaurant.
• In future customer can track their order using map.
• Customer can also view the food items by scanning the QR code.
• Customer can have various online payment options.

52
APPENDIX

Sample Screens

Home page

Fig. A-1 Home page

53
Register page

Fig. A-2 Register page

Login page

Fig. A-3 Login page

54
Food Item

Fig. A-4 Food Item

Cart

Fig. A-5 Cart

55
Payment Page

Fig. A-6 Payment page

Online pay

Fig. A-7 Online Payment

56
Invoice

Fig. A-8 Invoice

Track order

Fig. A-9 Track Order

57
Admin Login page

Fig. A-10 Admin Login page

Update Order

Fig. A-11 Update order

58
Manage User

Fig. A-12 Manage user

Manage category

Fig. A-13 Manage category

59
Manage food item

Fig. A-14 Manage Food Items

View Order Details

Fig. A-15 View Order Details

60
View sales Report

Fig. A-16 View Sales Report

61
BIBLIOGRAPHY

1. Rob Larsen(2013). “ Beginning HTML and CSS”. Wrox Publisher.

2. Adrian w.west (2013).”Practical PHP and MySQL Website Databases: A


Simplified Approach”. Apress publisher

3. Sommerville, I. (1982). “Software Engineering”. 9th Edition. Pearson


publisher. San Francisco, New York.

4. Atkinson, Leon. Core PHP Programming: Using PHP to Build Dynamic


Web Sites, Second Edition. Upper Saddle River, NJ: Prentice Hall PTR,
2001.
5. Kumar, Hemant, Muskan Jain, and Manpreet Singh Bajwa. "Online Food
Delivery App ‘Foodie’." Journal of University of Shanghai for Science and
Technology 23, no. 08 (August 11, 2021): 761–71.

6. Jon Duckett. HTML and CSS: Design and Build Webs, 18 Nov 2011, 8.

7. David DuRocher. HTML & CSS Quickstart Guide: ClydeBank Media

62

You might also like