Project
Project
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
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.
Examiners:
1.
2.
ACKNOWLEDGEMENT
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
vi
LIST OF FIGURES
vii
Fig. A-13 Manage category…………………………………………………………59
viii
ABSTRACT
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
11
2.1.1 Disadvantages
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.1.1 Home
Customer can view all the categories of the food items and all the
modules given below.
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
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.
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.
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.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
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:
18
5.1 Input and Output Formats
SIGN UP
X
Email id
Mobile Number
Password
Confirm Password
REGISTER NOW
19
SIGN IN X
Password
SIGN IN
Dosa 1 85 85
Area Location
Place order
20
Choose the way you want to have your food
Delivery Address
21
S.NO Remark Status Time
User Table
22
Admin Table
Category Table
23
Food Table
24
Order table
25
6 SYSTEM DESIGN
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
Log out
27
7 SOFTWARE SPECIFICATION
7.1 HTML
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
7.3 PHP
29
7.4 JavaScript
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.
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.
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.
Case Result
32
Test Test Scenario Test Data Expected Status
Case Result
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'];
$result=mysqli_fetch_array($ret);
if($result>0){
else{
34
if ($query) {
echo "<script>window.location.href='index.php'</script>";
else
echo "<script>window.location.href='index.php'</script>";
?>
<script type="text/javascript">
function checkpass()
if(document.signup.password.value!=document.signup.repeatpassword.value)
document.signup.repeatpassword.focus();
return false;
return true;
35
}
</script>
</div>
<div class="row">
</div>
</div>
36
<input class="brd-rd3" type="email" name="email" required="true"
placeholder="Email id">
</div>
</div>
</div>
</div>
</div>
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'];
$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>
<div class="row">
</div>
</div>
39
<button class="red-bg brd-rd3" type="submit" name="login">SIGN IN</button>
</div>
</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)
} else {
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<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="restaurant-searching-inner">
</form>
</div>
</div>
</section>
<section>
<div class="container">
<div class="row">
<div class="sec-box">
<div class="remove-ext">
<div class="row">
<?php
$page_no = $_GET['page_no'];
} else {
43
$page_no = 1;
$total_records_per_page = 12;
$previous_page = $page_no - 1;
$next_page = $page_no + 1;
$adjacents = "2";
$total_records = mysqli_fetch_array($result_count);
$total_records = $total_records['total_records'];
while($row = mysqli_fetch_array($result)){
?>
<div class="popular-dish-thumb">
<div class="popular-dish-info">
<form method="post">
<p itemprop="description">
</p>
<?php if($_SESSION['fosuid']==""){?>
<?php } ?>
</form>
</div>
</div>
</div>
<?php } ?>
</div>
45
</div>
<?php ?>
<li class="page-item prev" <?php if($page_no <= 1){ echo "class='disabled'"; } ?>>
</li>
<?php
if ($counter == $page_no) {
}else{
if($page_no <= 4) {
if ($counter == $page_no) {
46
echo "<li class='active'><a>$counter</a></li>";
}else{
echo "<li><a>...</a></li>";
echo "<li><a>...</a></li>";
if ($counter == $page_no) {
}else{
echo "<li><a>...</a></li>";
47
echo "<li><a href='?page_no=$second_last'>$second_last</a></li>";
else {
echo "<li><a>...</a></li>";
if ($counter == $page_no) {
}else{
?>
48
</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
• Create a database naming fosdb. Import the sql file from your folder.
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.
• 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
53
Register page
Login page
54
Food Item
Cart
55
Payment Page
Online pay
56
Invoice
Track order
57
Admin Login page
Update Order
58
Manage User
Manage category
59
Manage food item
60
View sales Report
61
BIBLIOGRAPHY
6. Jon Duckett. HTML and CSS: Design and Build Webs, 18 Nov 2011, 8.
62