0% found this document useful (0 votes)
40 views69 pages

Report

Uploaded by

Lavkush Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views69 pages

Report

Uploaded by

Lavkush Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

ABSTRACT

The online food ordering system provides convenience for the customers. It overcomes the
disadvantages of the traditional queuing system. This system increases the takeaway of foods than
visitors. Therefore, this system enhances the speed and standardization of taking the order from
the customer. It provides a better communication platform. the user’s details are noted
electronically.

The online food ordering system set up menu online and the customers easily places the order with
a simple mouse click. Also, with a food menu online you can easily track the orders, maintain
customer's database and improve your food delivery service. This system allows the user to select
the desired food items from the displayed menu. The user orders the food items. The payment can
be made online or pay-on-delivery system. The user’s details are maintained confidential because
it maintains a separate account for each user. An id and password are provided for each user.
Therefore, it provides a more secured ordering.
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

3. HARDWARE AND SOFTWARE REQUIREMENTS--------05


3.1 HARDWARE REQUIREMENTS

3.2 SOFTWARE REQUIREMENTS

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
5.1 PROJECT IMPLEMENTATION AND TESTING

5.2 IMPLEMENTATION ISSUES AND CHALLENGES

5.3 USER WITHOUT BACKGROUND

5.4 SCREEN SIZE OF DIFFERENT DEVICE

5.5 SERVER PERFORMANCE

6. CODING-------------------------------------------------------------22

7. DEVELOPMENT TOOLS---------------------------------------52
7.1 DATABASE ENVIRONMENT

7.2 WEB TECHNOLOGY

7.3 SYSTEM PLATFORM

7.4 PROJECT MANAGEMENT TOOLS


7.5 VISUAL PARADIGM COMMUNITY EDITION

8. TESTING-----------------------------------------------------------------55
8.1 ACCEPTANCE TESTING

9. SYSTEM EVALUATION AND DISCUSSION----------------56


9.1 PROPOSED SYSTEM COMPLETION

10. SYSTEM STRENGTH AND LIMITATIONS-----------------57


10.1 SYSTEM STRENGTH

10.2 SYSTEM LIMITATION

11. FUTURE ENHANCEMENT -------------------------------------58

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

1.2.2 Customer Module


This Functionalities provided:
• View product’s list
• Register
• Place orders

1.2.3 Admin Module


• Dashboard: In this section admin can see all detail in brief like total order, not confirmed
order, confirmed order, total food being prepared, Total food pickup, Total food deliver,
Total Cancelled orders, and Total user.
• Reg Users: In this section admin can manage register user (view/update).
• Food Category: In this section admin can manage food category (Add and Update).
• Food Menu: In this section admin can manage food menu (Add and Update).
• Orders: In this section admin can view the food order details and they have also right
change order status according to current status.
• Search Order: In this section admin can search particular order with the help of order
number

• 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

1.2.5 Brief Information about homepage


In this page guest user (user which not registered) can view restaurants food menu, search food
according food name and guest user can also sign up in restaurants and registered user can sign in.
User can also track their order without login.

2.LITERATURE SURVEY

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.

2.2 Existing System

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.
2.3 Proposed System

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

3.1 Hardware Requirement:

• Hardware - Pentium

• Speed - 1.1 GHz

• RAM - 1GB

• Hard Disk - 20 GB

• Key Board - Standard Windows Keyboard

• Mouse - Two or Three Button Mouse

• Monitor - SVGA

3.2 Software Requirements:


Operating System : Windows / Linux / Mac
Technology : PHP

Web Technologies : Html, JavaScript, CSS

IDE : Notepad++ , Visual studio code


: WAMP / XAMPP
Web Server one)
: MySQL
Database
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.

There are various kinds of methods in software design:

They are as follows:

• Use case Diagram


• Sequence Diagram
• Collaboration Diagram
• Activity Diagram
• State chat Diagram

4.2 USECASE DIAGRAMS:

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.

• To represent the system requirements from user’s perspective.

• An actor could be the end-user of the system or an external system.

USECASE DIAGRAM:

A Use case is a description of set of sequence of actions. Graphically it is rendered as an ellipse


with solid line including only its name. Use case diagram is a behavioural diagram that shows a
set of use cases and actors and their relationship. It is an association between the use cases and
actors. An actor represents a real-world object. Primary Actor – Sender, Secondary Actor
Receiver.

4.2.1 Admin Use Case Diagram:


Dashboard

Manage Registered
Users

Manage Food Categories

Add / update

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.

4.4 Connectivity and Cardinality

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.

5.1 Food Ordering System (FOS) contains 7 MySQL tables:


• tbladmin : This table store the admin login details

• tblcategory : This table stores the food category


• tblfood : This tables stores the food details (used for food menu)

• tblfoodtracking : This table stores the food tacking data.

• tblorderaddresses : This table stores the delivery address.


• tblorders: This table store the food order details.

• tbluser : This table store the user details.


5.2 Tables Relationship Diagram
6. SYSTEM TESTING

6.1 Project Implementation & Testing

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.

6.2 Implementation Issues & Challenges

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:

6.3 User without background


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.

6.5 Server performance

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

<?php
session_start(); error_reporting(0);
include('includes/dbconnection.php');
if (strlen($_SESSION['fosuid']==0)) {
header('location:logout.php');
} else {
if(isset($_POST['submit']))
{
$sid=$_SESSION['fosuid'];
$fname=$_POST['firstname'];
$lname=$_POST['lastname'];

$query=mysqli_query($con, "update tbluser set FirstName='$fname', LastName='$lname' where


ID='$sid'");

if ($query) {
$msg="Your profile has been updated";
}
else
{
$msg="Something Went Wrong. Please try again";
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these
tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Door Delights</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet"> </head>
<body>
<div class="site-wrapper animsition" data-animsition-in="fade-in" data-animsition-out="fade-out"> <!-
-header starts-->
<header id="header" class="header-scroll top-header headrom">
<!-- .navbar -->
<?php include('includes/header.php');?>
<!-- /.navbar -->

</header>
<div class="page-wrapper">
<div class="breadcrumb">
<div class="container">
<ul>
<li><a href="#" class="active">Home</a></li>
<li>Profile</li>
</ul>
</div>
</div>
<section class="contact-page inner-page">
<div class="container">
<div class="row">
<!-- REGISTER -->
<div class="col-md-8">
<div class="widget">
<div class="widget-body">
<p style="font-size:16px; color:red" align="center"> <?php if($msg){
echo $msg;
} ?> </p>
<form action="" name="submit" method="post">
<?php
$pid=$_SESSION['fosuid'];
$ret=mysqli_query($con,"select * from tbluser where ID='$pid'");
$cnt=1; while
($row=mysqli_fetch_array($ret)) {

?>
<div class="row">
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">First Name</label>
<input class="form-control" type="text" value="<?php echo $row['FirstName'];?>"
id="firstname" name="firstname" required="true">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Last Name</label>
<input class="form-control" type="text" value="<?php echo $row['LastName'];?>"
id="lastname" name="lastname" required="true">
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="email" aria-describedby="emailHelp"
placeholder="Enter email" name="email" value="<?php echo $row['Email'];?>" required="true"
readonly='true'> <small id="emailHelp" class="form-text text-muted">We"ll never share your email with
anyone else.</small>
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Mobile Number</label>
<input class="form-control" type="text" id="mobilenumber" name="mobilenumber"
value="<?php echo $row['MobileNumber'];?>" readonly="true"> <small class="form-text text-muted">We"ll
never share your mobile number with anyone else.</small>
</div>
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Registraton Date</label>
<input class="form-control" type="text" id="regdate" name="regdate" value="<?php
echo $row['RegDate'];?>" readonly="true">
</div>

</div>
<?php } ?>

<div class="row">
<div class="col-sm-4">
<button type="submit" name="submit" class="btn theme-btn"><i class="ft-
user"></i>Update</button>
</div>
</div>
</form>
</div>
<!-- end: Widget -->
</div>
<!-- /REGISTER -->
</div>
<!-- WHY? -->
<div class="col-md-4">
<h4>Update Profile.</h4>
<hr>
<img src="images/profile.png" alt="" class="img-fluid">
<p></p>

<!-- end:Panel -->


<h4 class="m-t-20">Contact Customer Support</h4>
<p> If you"re looking for more help or have a question to ask, please </p>
<p> <a href="contact.php" class="btn theme-btn m-t-15">contact us</a> </p>
</div>
<!-- /WHY? -->
</div>
</div>
</section>

<!-- start: FOOTER -->


<?php include('includes/footer.php');?>
<!-- end:Footer -->
</div>
<!-- end:page wrapper -->
</div>
<!--/end:Site wrapper -->
<!-- Bootstrap core JavaScript
================================================== -->
<script src="js/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>

</html>
<?php } ?>

USER LOGIN PAGE

<?php
session_start(); error_reporting(0);
include('includes/dbconnection.php');

if(isset($_POST['login']))
{
$emailcon=$_POST['emailcont'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"select ID from tbluser where (Email='$emailcon' ||
MobileNumber='$emailcon') && Password='$password'&& approval=1");
$ret=mysqli_fetch_array($query);
if($ret>0){
$_SESSION['fosuid']=$ret['ID'];
header('location:index.php');
}
else{
$msg="Invalid Details or user yet to be approved ";
}
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these
tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Door Delights</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet"> </head>
<body>
<div class="site-wrapper animsition" data-animsition-in="fade-in" data-animsition-out="fade-out"> <!-
-header starts-->
<header id="header" class="header-scroll top-header headrom">
<!-- .navbar -->
<?php include('includes/header.php');?>
<!-- /.navbar -->

</header>
<div class="page-wrapper">
<div class="breadcrumb">
<div class="container">
<ul>
<li><a href="#" class="active">Home</a></li>
<li><a href="#">login page</a></li>
<li>Login</li>
</ul>
</div>
</div>
<section class="contact-page inner-page">
<div class="container">
<div class="row">
<!-- REGISTER -->
<div class="col-md-8">
<div class="widget">
<div class="widget-body">
<p style="font-size:16px; color:red" align="center"> <?php if($msg){
echo $msg;
} ?> </p>
<form action="" name="login" method="post">
<div class="row">
<div class="form-group col-sm-6">
<label for="exampleInputEmail1">Registered Email or Contact Number</label>
<input type="text" name="emailcont" id="email" class="form-control"
placeholder="Registered Email or Contact Number"
required="true" >
</div> </div>
<div class="row">
<div class="form-group col-sm-6">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="password" value="" name="password" required="true"
placeholder="Password">
<h6 style="padding-top: 20px"><a href="forgot-password.php">Forgot Password?</a></h6>
</div>

</div>

<div class="row">
<div class="col-sm-4">
<button type="submit" name="login" class="btn theme-btn"><i class="ft-
user"></i>Login</button>
</div>
<div class="col-sm-4">
<a href="registration.php" class="btn theme-btn"><i class="ft-user"></i>Register</a>

</div>
</div>
</form>
</div>
<!-- end: Widget -->
</div>
<!-- /REGISTER -->
</div>
<!-- WHY? -->
<div class="col-md-4">
<h4>Registration is fast, easy, and free.</h4>
<hr>
<img src="images/login.jpg" alt="" class="img-fluid">
<p></p>

<!-- end:Panel -->


<h4 class="m-t-20">Contact Customer Support</h4>
<p> If you"re looking for more help or have a question to ask, please </p>
<p> <a href="contact.php" class="btn theme-btn m-t-15">contact us</a> </p>
</div>
<!-- /WHY? -->
</div>
</div>
</section>

<!-- start: FOOTER -->


<?php include('includes/footer.php');?>
<!-- end:Footer -->
</div>
<!-- end:page wrapper -->
</div>
<!--/end:Site wrapper -->
<!-- Bootstrap core JavaScript
================================================== -->
<script src="js/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>

</html>

INDEX PAGE

<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
if(isset($_POST['submit']))
{
$foodid=$_POST['foodid'];
$userid= $_SESSION['fosuid'];
$query=mysqli_query($con,"insert into tblorders(UserId,FoodId) values('$userid','$foodid') ");
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 http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these
tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Door Delights</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet"> </head>

<body class="home">
<div class="site-wrapper animsition" data-animsition-in="fade-in" data-animsition-out="fade-out"> <!-
-header starts-->
<header id="header" class="header-scroll top-header headrom">
<!-- .navbar -->
<?php include_once('includes/header.php');?>
<!-- /.navbar -->
</header>
<!-- banner part starts -->
<section class="hero bg-image" data-image-src="images/food-on-plate1.jpg">
<div class="hero-inner">
<div class="container text-center hero-text font-white">
<h1>Door Delights</h1>
<h5 class="font-white space-xs">Find your favourite delicious hot food!</h5>
<div class="banner-form">
<form class="form-inline" method="post" name="search" action="search-food.php">
<div class="form-group">
<label class="sr-only" for="exampleInputAmount">I would like to eat....</label>
<div class="form-group">
<input type="text" class="form-control form-control-lg" id="exampleInputAmount"
name="searchdata" id="searchdata" placeholder="I would like to eat...."> </div>
</div>
<button onclick="location.href='search-food.php'" type="submit" name="search" class="btn
theme-btn btn-lg">Search food</button>
</form>
</div>
<div class="steps">
<div class="step-item step1">
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 483 483" width="512"
height="512">
<g fill="#FFF">
<path d="M467.006 177.92c-.055-1.573-.469-3.321-1.233-4.755L407.006
62.877V10.5c0-5.799-4.701-10.5-10.5-10.5h-310c-5.799 0-10.5 4.701-10.5
10.5v52.375L17.228
173.164a10.476 10.476 0 0 0-1.22 4.938h-.014V472.5c0 5.799 4.701 10.5 10.5 10.5h430.012c5.799 0 10.54.701
10.5-10.5V177.92zM282.379 76l18.007 91.602H182.583L200.445 76h81.934zm19.391 112.602c-4.964
29.003-30.096 51.143-60.281 51.143-30.173 0-55.295-22.139-60.258-51.143H301.77zm143.331 0c-4.96
29.003-30.075 51.143-60.237 51.143-30.185 0-55.317-22.139-60.281-51.143h120.518zm-123.314-21L303.78
76h86.423l48.81 91.602H321.787zM97.006 55V21h289v34h-289zm-4.198 21h86.243l-17.863
91.602h117.2L92.808 76zm65.582 112.602c-5.028 28.475-30.113 50.19-60.229 50.19s-55.201-21.715-60.23-
50.19H158.39zM300 462H183V306h117v156zm21 0V295.5c0-5.799-4.701-10.5-10.5-10.5h-138c-5.799 0-
10.5 4.701-10.5 10.5V462H36.994V232.743a82.558 82.558 0 0 0 3.101 3.255c15.485 15.344 36.106 23.794
58.065 23.794s42.58-8.45 58.065-23.794a81.625 81.625 0 0 0 13.525-17.672c14.067 25.281 40.944 42.418
71.737 42.418 30.752 0 57.597-17.081 71.688-42.294 14.091 25.213 40.936 42.294 71.688 42.294 24.262 0
46.092-10.645 61.143-27.528V462H321z"></path>
<path d="M202.494 386h22c5.799 0 10.5-4.701 10.5-10.5s-4.701-10.5-10.5-10.5h-22c-
5.799 0-10.5 4.701-10.5 10.5s4.701 10.5 10.5 10.5z"></path>
</g>
</svg>
<h4><span>1. </span>Select restaurant</h4> </div>
<!-- end:Step -->
<div class="step-item step2">
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewbox="0 0
380.721 380.721">
<g fill="#FFF">
<path d="M58.727 281.236c.32-5.217.657-10.457 1.319-15.709 1.261-12.525
3.97425.05 6.733-37.296a543.51 543.51 0 0 1 5.449-17.997c2.463-5.729 4.868-11.433 7.25-17.01 5.438-
10.898
11.491-21.07 18.724-29.593 1.737-2.19 3.427-4.328 5.095-6.46 1.912-1.894 3.805-3.747 5.676-5.588 3.863-
3.509 7.221-7.273 11.107-10.091 7.686-5.711 14.529-11.137 21.477-14.506 6.698-3.724 12.455-6.982
17.631-8.812 10.125-4.084 15.883-6.141 15.883-6.141s-4.915 3.893-13.502 10.207c-4.449 2.917-9.114
7.488-14.721 12.147-5.803 4.461-11.107 10.84-17.358 16.992-3.149 3.114-5.588 7.064-8.551 10.684-1.452
1.83-2.928 3.712-4.427 5.6a1225.858 1225.858 0 0 1-3.84 6.286c-5.537 8.208-9.673 17.858-13.995 27.664-
1.748 5.1-3.566 10.283-5.391 15.534a371.593 371.593 0 0 1-4.16 16.476c-2.266 11.271-4.502 22.761-5.438
34.612-.68 4.287-1.022 8.633-1.383 12.979 94 .023 166.775.069 268.589.069.337-4.462.534-8.97.534-13.536
0-85.746-62.509-156.352-142.875-165.705 5.17-4.869 8.436-11.758 8.436-19.433-.023-14.692-11.921-
26.612-26.631-26.612-14.715 0-26.652 11.92-26.652 26.642 0 7.668 3.265 14.558 8.464 19.426-80.396 9.353-
142.869 79.96-142.869 165.706 0 4.543.168 9.027.5 13.467 9.935-.002 19.526-.002 28.926-.002zM0
291.135h380.721v33.59H0z" /> </g>
</svg>
<h4><span>2. </span>Order Food</h4> </div>
<!-- end:Step -->
<div class="step-item step3">
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewbox="0 0
612.001 612">
<path d="M604.131 440.17h-19.12V333.237c0-12.512-3.776-24.787-10.78-35.173l47.92-
70.975a62.99 62.99 0 0 0-52.169-27.698h-74.28c-8.734 0-15.737 7.082-15.737
15.738v225.043h121.65c11.567 9.992 19.514 23.92 21.796 39.658H412.53c4.563-31.238 31.475-55.396
63.972-55.396 32.498 0 59.33 24.158 63.895 55.396h63.735c4.328 0 7.869-3.541 7.869-7.869V448.04c-.001-
4.327-3.541-7.87-
7.87-7.87zM525.76 312.227h-98.044a7.842 7.842 0 0 1-7.868-7.869v-54.372c0-4.328 3.541-7.869 7.868-
7.869h59.724c2.597 0 4.957 1.259 6.452 3.305l38.32 54.451c3.619 5.194-.079 12.354-6.452
12.354zM476.502 440.17c-27.068 0-48.943 21.953-48.943 49.021 0 26.99 21.875 48.943 48.943 48.943
26.989 0 48.943-21.953 48.943-48.943 0-27.066-21.954-49.021-48.943-49.021zm0 73.495c-13.535 0-24.472-
11.016-24.472-24.471 0-13.535 10.937-24.473 24.472-24.473 13.533 0 24.472 10.938 24.472 24.473 0
13.455-10.938 24.471-24.472 24.471zM68.434 440.17c-4.328 0-7.869 3.543-7.869 7.869v23.922c0 4.328
3.541 7.869 7.869 7.869h87.971c2.282-15.738 10.229-29.666 21.718-39.658H68.434v-.002zm151.864 0c-
26.989 0-48.943 21.953-48.943 49.021 0 26.99 21.954 48.943 48.943 48.943 27.068 0 48.943-21.953
48.94348.943.001-27.066-21.874-49.021-48.943-49.021zm0 73.495c-13.534 0-24.471-11.016-24.471-24.471
0-
13.535 10.937-24.473 24.471-24.473s24.472 10.938 24.472 24.473c0 13.455-10.938 24.471-24.472
24.471zm117.716-363.06h-91.198c4.485 13.298 6.846 27.54 6.846 42.255 0 74.28-60.431 134.711-134.711
134.711-13.535 0-26.675-2.045-39.029-5.744v86.949c0 4.328 3.541 7.869 7.869 7.869h265.96c4.329 0
7.869-3.541 7.869-7.869V174.211c-.001-13.062-10.545-23.606-23.606-23.606zM118.969 73.866C53.264
73.866 0 127.129 0 192.834s53.264 118.969 118.969 118.969 118.97-53.264 118.97-118.969-53.265-
118.968118.97-118.968zm0 210.864c-50.752 0-91.896-41.143-91.896-91.896s41.144-91.896 91.896-
91.896c50.753 0 91.896 41.144 91.896 91.896 0 50.753-41.143 91.896-91.896 91.896zm35.097-72.488c-1.014
0-2.052-.131-
3.082-.407L112.641 201.5a11.808 11.808 0 0 1-8.729-11.396v-59.015c0-6.516 5.287-11.803 11.803-11.803
6.516 0 11.803 5.287 11.803 11.803v49.971l29.614 7.983c6.294 1.698 10.02 8.177 8.322 14.469-1.421
5.2646.185 8.73-11.388 8.73z" fill="#FFF" /> </svg>
<h4><span>3. </span>Delivery</h4> </div>
<!-- end:Step -->
</div>
<!-- end:Steps -->
</div>
</div>
<!--end:Hero inner -->
</section>
<!-- banner part ends -->
<!-- location match part starts -->
<div class="location-match text-xs-center">
<div class="container"> <span>Popular Delicious Foods Here: <span class="primary-color">All over
Bengaluru</span> </span>
</div>
</div>
<!-- location match part ends -->
<!-- Popular block starts -->
<section class="popular">
<div class="container">
<div class="title text-xs-center m-b-30">
<h2>Popular This Month In Your City</h2>
<p class="lead">The easiest way to get your favourite food</p>
</div>

<div class="row">
<!-- Each popular food item starts -->
<?php

$ret=mysqli_query($con,"select * from tblfood order by rand() limit 9");


$cnt=1; while
($row=mysqli_fetch_array($ret)) {

?>
<div class="col-xs-12 col-sm-6 col-md-4 food-item">
<div class="food-item-wrap">
<div class="figure-wrap bg-image"><img src="admin/itemimages/<?php echo
$row['Image'];?>" width="400" height="180">

</div>
<div class="content">
<h5><a href="food-detail.php?fid=<?php echo $row['ID'];?>"><?php echo
$row['ItemName'];?></a></h5>
<div class="product-name"><?php echo substr($row['ItemDes'],0,40);?></div>
<div class="price-btn-block"> <span class="price">Rs. <?php echo $row['ItemPrice'];?
></span>

<?php if($_SESSION['fosuid']==""){?>
<a href="login.php" class="btn theme-btn-dash pull-right">Order Now</a> <?php
} else {?>
<form method="post">
<input type="hidden" name="foodid" value="<?php echo $row['ID'];?>">
<button type="submit" name="submit" class="btn theme-btn-dash pull-right">Order Now</button>
</form>
<?php }?> </div>
</div>

</div>
</div>
<?php } ?>
<!-- Each popular food item starts -->
<!-- Each popular food item starts -->

</div>
</div>
</section>
<!-- Popular block ends -->
<!-- How it works block starts -->
<section class="how-it-works">
<div class="container">
<div class="text-xs-center">
<h2>Easy 3 Step Order</h2>
<!-- 3 block sections starts -->
<div class="row how-it-works-solution">
<div class="col-xs-12 col-sm-12 col-md-4 how-it-works-steps white-txt col1">
<div class="how-it-works-wrap">
<div class="step step-1">
<div class="icon" data-step="1">
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 483 483" width="512"
height="512">
<g fill="#FFF">
<path d="M467.006 177.92c-.055-1.573-.469-3.321-1.233-4.755L407.006
62.877V10.5c0-5.799-4.701-10.5-10.5-10.5h-310c-5.799 0-10.5 4.701-10.5 10.5v52.375L17.228
173.164a10.476 10.476 0 0 0-1.22 4.938h-.014V472.5c0 5.799 4.701 10.5 10.5 10.5h430.012c5.799 0 10.54.701
10.5-10.5V177.92zM282.379 76l18.007 91.602H182.583L200.445 76h81.934zm19.391 112.602c-4.964
29.003-30.096 51.143-60.281 51.143-30.173 0-55.295-22.139-60.258-51.143H301.77zm143.331 0c-4.96
29.003-30.075 51.143-60.237 51.143-30.185 0-55.317-22.139-60.281-51.143h120.518zm-123.314-21L303.78
76h86.423l48.81 91.602H321.787zM97.006 55V21h289v34h-289zm-4.198 21h86.243l-17.863
91.602h117.2L92.808 76zm65.582 112.602c-5.028 28.475-30.113 50.19-60.229 50.19s-55.201-21.715-60.23-
50.19H158.39zM300 462H183V306h117v156zm21 0V295.5c0-5.799-4.701-10.5-10.5-10.5h-138c-5.799 0-
10.5 4.701-10.5 10.5V462H36.994V232.743a82.558 82.558 0 0 0 3.101 3.255c15.485 15.344 36.106 23.794
58.065 23.794s42.58-8.45 58.065-23.794a81.625 81.625 0 0 0 13.525-17.672c14.067 25.281 40.944 42.418
71.737 42.418 30.752 0 57.597-17.081 71.688-42.294 14.091 25.213 40.936 42.294 71.688 42.294 24.262 0
46.092-10.645 61.143-27.528V462H321z" />
<path d="M202.494 386h22c5.799 0 10.5-4.701 10.5-10.5s-4.701-10.5-10.5-
10.5h-22c-5.799 0-10.5 4.701-10.5 10.5s4.701 10.5 10.5 10.5z" /> </g>
</svg>
</div>
<h3>Choose a tasty dish</h3>
<p>We"ve got your covered with menus from over 18 delicious foods online.</p>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-4 how-it-works-steps white-txt col2">
<div class="step step-2">
<div class="icon" data-step="2">
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewbox="0 0
380.721 380.721">
<g fill="#FFF">
<path d="M58.727 281.236c.32-5.217.657-10.457 1.319-15.709 1.261-12.525
3.974-25.05 6.733-37.296a543.51 543.51 0 0 1 5.449-17.997c2.463-5.729 4.868-11.433 7.25-17.01 5.438-
10.898 11.491-21.07 18.724-29.593 1.737-2.19 3.427-4.328 5.095-6.46 1.912-1.894 3.805-3.747 5.676-5.588
3.863-3.509 7.221-7.273 11.107-10.091 7.686-5.711 14.529-11.137 21.477-14.506 6.698-3.724 12.455-6.982
17.631-8.812 10.125-4.084 15.883-6.141 15.883-6.141s-4.915 3.893-13.502 10.207c-4.449 2.917-9.114
7.488-14.721 12.147-5.803 4.461-11.107 10.84-17.358 16.992-3.149 3.114-5.588 7.064-8.551 10.684-1.452
1.83-2.928 3.712-4.427 5.6a1225.858 1225.858 0 0 1-3.84 6.286c-5.537 8.208-9.673 17.858-13.995 27.664-
1.748 5.1-3.566 10.283-5.391 15.534a371.593 371.593 0 0 1-4.16 16.476c-2.266 11.271-4.502 22.761-5.438
34.612-.68 4.287-1.022 8.633-1.383 12.979 94 .023 166.775.069 268.589.069.337-4.462.534-8.97.534-13.536
0-85.746-62.509-156.352-142.875-165.705 5.17-4.869 8.436-11.758 8.436-19.433-.023-14.692-11.921-
26.612-26.631-26.612-14.715 0-26.652 11.92-26.652 26.642 0 7.668 3.265 14.558 8.464 19.426-80.396 9.353-
142.869 79.96-142.869 165.706 0 4.543.168 9.027.5 13.467 9.935-.002 19.526-.002 28.926-.002zM0
291.135h380.721v33.59H0z" /> </g>
</svg>
</div>
<h3>Fill your location</h3>
<p>We"ve got your covered with menus from over 18 delicious foods online.</p>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-4 how-it-works-steps white-txt col3">
<div class="step step-3">
<div class="icon" data-step="3">
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewbox="0 0
612.001 612">
<path d="M604.131 440.17h-19.12V333.237c0-12.512-3.776-24.787-10.78-
35.173l47.92-70.975a62.99 62.99 0 0 0-52.169-27.698h-74.28c-8.734 0-15.737 7.082-15.737
15.738v225.043h121.65c11.567 9.992 19.514 23.92 21.796 39.658H412.53c4.563-31.238 31.475-55.396
63.972-55.396 32.498 0 59.33 24.158 63.895 55.396h63.735c4.328 0 7.869-3.541 7.869-7.869V448.04c-.001-
4.327-3.541-7.87-
7.87-7.87zM525.76 312.227h-98.044a7.842 7.842 0 0 1-7.868-7.869v-54.372c0-4.328 3.541-7.869 7.868-
7.869h59.724c2.597 0 4.957 1.259 6.452 3.305l38.32 54.451c3.619 5.194-.079 12.354-6.452
12.354zM476.502 440.17c-27.068 0-48.943 21.953-48.943 49.021 0 26.99 21.875 48.943 48.943 48.943
26.989 0 48.943-21.953 48.943-48.943 0-27.066-21.954-49.021-48.943-49.021zm0 73.495c-13.535 0-24.472-
11.016-24.472-24.471 0-13.535 10.937-24.473 24.472-24.473 13.533 0 24.472 10.938 24.472 24.473 0
13.455-10.938 24.471-24.472 24.471zM68.434 440.17c-4.328 0-7.869 3.543-7.869 7.869v23.922c0 4.328
3.541 7.869 7.869 7.869h87.971c2.282-15.738 10.229-29.666 21.718-39.658H68.434v-.002zm151.864 0c-
26.989 0-48.943 21.953-48.943 49.021 0 26.99 21.954 48.943 48.943 48.943 27.068 0 48.943-21.953
48.94348.943.001-27.066-21.874-49.021-48.943-49.021zm0 73.495c-13.534 0-24.471-11.016-24.471-24.471
0-
13.535 10.937-24.473 24.471-24.473s24.472 10.938 24.472 24.473c0 13.455-10.938 24.471-24.472
24.471zm117.716-363.06h-91.198c4.485 13.298 6.846 27.54 6.846 42.255 0 74.28-60.431 134.711-134.711
134.711-13.535 0-26.675-2.045-39.029-5.744v86.949c0 4.328 3.541 7.869 7.869 7.869h265.96c4.329 0
7.869-3.541 7.869-7.869V174.211c-.001-13.062-10.545-23.606-23.606-23.606zM118.969 73.866C53.264
73.866 0 127.129 0 192.834s53.264 118.969 118.969 118.969 118.97-53.264 118.97-118.969-53.265-
118.968118.97-118.968zm0 210.864c-50.752 0-91.896-41.143-91.896-91.896s41.144-91.896 91.896-
91.896c50.753 0 91.896 41.144 91.896 91.896 0 50.753-41.143 91.896-91.896 91.896zm35.097-72.488c-1.014
0-2.052-.131-
3.082-.407L112.641 201.5a11.808 11.808 0 0 1-8.729-11.396v-59.015c0-6.516 5.287-11.803 11.803-11.803
6.516 0 11.803 5.287 11.803 11.803v49.971l29.614 7.983c6.294 1.698 10.02 8.177 8.322 14.469-1.421 5.264-
6.185 8.73-11.388 8.73z" fill="#FFF" /> </svg>
</div>
<h3>Food Delivery</h3>
<p>Get your food delivered! And enjoy your meal! Pay Cash on delivery</p>
</div>
</div>
</div>
</div>
<!-- 3 block sections ends -->
<div class="row">
<div class="col-sm-12 text-center">
<p class="pay-info">Pay by Cash on delivery</p>
</div>
</div>
</div>
</section>
<!-- How it works block ends -->
<!-- Featured restaurants starts -->

<!-- Featured restaurants ends -->

<!-- start: FOOTER -->


<?php include_once('includes/footer.php');?>
<!-- end:Footer -->
</div>
<!--/end:Site wrapper -->
<!-- Bootstrap core JavaScript
================================================== -->
<script src="js/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>

</html>
FOOD DETAILS PAGE

<?php
session_start(); error_reporting(0);
include_once('includes/dbconnection.php');
if (strlen($_SESSION['fosuid']==0)) {
header('location:logout.php');
} else{

?>
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these
tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Door Delights</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
<link href="css/animsition.min.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet"> </head>
<script language="javascript" type="text/javascript"> var
popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
if(popUpWin)
{
if(!popUpWin.closed) popUpWin.close();
}
popUpWin = open(URLStr,'popUpWin',
'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,w
idth='+600+',height='+600+',left='+left+', top='+top+',screenX='+left+',screenY='+top+''); }

</script>
<body>
<div class="site-wrapper animsition" data-animsition-in="fade-in" data-animsition-out="fade-out"> <!-
-header starts-->
<header id="header" class="header-scroll top-header headrom">
<!-- .navbar -->
<?php include_once('includes/header.php');?>
<!-- /.navbar -->
</header>
<div class="page-wrapper">
<!-- top Links -->
<div class="top-links">

</div>
<!-- end:Top links -->
<!-- start: Inner page hero -->
<section class="inner-page-hero bg-image" data-image-src="images/decouvrez-l-experience-food-
dairbnb.jpg">
<div class="profile">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 profile-img">
<div class="image-wrap">
<figure><img src="images/decouvrez-l-experience-food-d-airbnb.jpg" alt="Profile
Image"></figure>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-8 col-lg-8 profile-desc">
<div class="pull-left right-text white-txt">

</div>
</div>
</div>
</div>
</div>
</section>
<!-- end:Inner page hero -->
<div class="breadcrumb">
<div class="container">
<ul>
<li><a href="index.php" class="active">Home</a></li>
<li><a href="cart.php">Cart</a></li>
<li>Detail Cart</li>
</ul>
</div>
</div>
<div class="container m-t-30">
<div class="row">
<div class="col-xs-12 col-sm-4 col-md-4 col-lg-3">
<div class="sidebar clearfix m-b-20">
<div class="main-block">
<div class="sidebar-title white-txt">
<h6>Food Categories</h6> <i class="fa fa-cutlery pull-right"></i> </div>
<?php

$query=mysqli_query($con,"select * from tblcategory");


while($row=mysqli_fetch_array($query))
{
?>

<ul>
<li>
<label class="custom-control custom-checkbox">
<span class="custom-control-description"><a
href="viewfoodcategorywise.php?catid=<?php echo $row['CategoryName'];?>"><?php
echo
$row['CategoryName'];?></a></span> </label>
</li>

</ul>
<?php } ?>
<div class="clearfix"></div>
</div>
<!-- end:Sidebar nav -->

</div>
<!-- end:Left Sidebar -->

</div>
<div class="col-xs-12 col-sm-8 col-md-8 col-lg-6">
<div class="menu-widget m-b-30">
<div class="widget-heading">
<h3 class="widget-title text-dark">
Your ORDERS Delicious hot food! <a class="btn btn-link pull-right" datatoggle="collapse"
href="#popular" aria-expanded="true">
<i class="fa fa-angle-right pull-right"></i>
<i class="fa fa-angle-down pull-right"></i>
</a>
</h3>
<div class="clearfix"></div>
</div>
<div class="collapse in" id="1">
<div class="food-item white">

<?php
$userid= $_SESSION['fosuid'];
$oid=$_GET['orderid'];
$query=mysqli_query($con,"select
tblfood.Image,tblfood.ItemName,tblfood.ItemDes,tblfood.ItemPrice,tblfood.ItemQty,tblorders.FoodId from
tblorders join tblfood on tblfood.ID=tblorders.FoodId where tblorders.UserId='$userid' and
tblorders.IsOrderPlaced=1 and tblorders.OrderNumber='$oid'");
$num=mysqli_num_rows($query); while
($row=mysqli_fetch_array($query)) { ?>

<div class="row">
<div class="col-xs-12 col-sm-12 col-lg-8">
<div class="rest-logo pull-left">
<a class="restaurant-logo pull-left" href="#"><img src="admin/itemimages/<?
php echo $row['Image']?>" width="100" height="80" alt="<?php echo $row['ItemName']?>"></a>
</div>
<!-- end:Logo -->
<div class="rest-descr">
<h6><a href="food-detail.php?fid=<?php echo $_SESSION['fid']=$row['FoodId'];?>"><?php echo
$row['ItemName']?> (<?php echo $row['ItemQty']?>) </a></h6>
<p> <?php echo $row['ItemDes']?></p>
</div>
<!-- end:Description -->
</div>
<!-- end:col -->
<div class="col-xs-12 col-sm-12 col-lg-4 pull-right item-cart-info"> <span
class="price pull-left">Rs. <?php echo $total=$row['ItemPrice']?></span></div>
</div>
<!-- end:row -->
<?php
$grandtotal+=$total;
}
?>
</div>

</div>
<!-- end:Collapse -->
</div>
<!-- end:Widget menu -->

<!--/row -->
</div>
<!-- end:Bar -->

<?php
$query=mysqli_query($con,"select * from tblorderaddresses where Ordernumber='$oid'");
while($row=mysqli_fetch_array($query))
{ ?>
<div class="col-xs-12 col-md-12 col-lg-3">
<div class="sidebar-wrap">
<div class="widget widget-cart">
<div class="widget-heading">
<h3 class="widget-title text-dark">
Order # <?php echo $oid;?> Details
</h3>
<div class="clearfix"></div>
</div>
<div class="order-row bg-white">
<div class="widget-body">

<div class="form-group row no-gutter">


<div class="col-lg-12">
<p><b>Order Date :</b> <?php echo $row['OrderTime']?></p>
<hr />
<p><b>Flat No / Building No.:</b> <?php echo $row['Flatnobuldngno']?></p>
<p><b>Street Name: </b> <?php echo $row['StreetName']?></p>
<p><b>Area :</b> <?php echo $row['Area']?></p>
<p><b>Landmark :</b> <?php echo $row['Landmark']?></p>
<p><b>City :</b> <?php echo $row['City']?></p>

</div>
</div>
</div>
<hr />

<div class="widget-body">
<div class="price-wrap text-xs-center">
<p class="btn theme-btn btn-lg" ><?php

$link = "http";
$link .= "://";
$link .= $_SERVER['HTTP_HOST'];
?>

<a href="javascript:void(0);" onClick="popUpWindow('invoice.php?oid=<?php echo


htmlentities($row['Ordernumber']);?>');" title="Order Invoice" style="color:#fff">Invoice</a></p>

<p style="color:red">
<a href="javascript:void(0);" onClick="popUpWindow('cancelorder.php?oid=<?php echo
htmlentities($row['Ordernumber']);?>');" title="Cancel this order" style="color:red">Cancel this order </a>
</p>

<p>TOTAL</p>
<h3 class="value"><strong><?php echo $grandtotal;?></strong></h3>

<?php $status=$row['OrderFinalStatus'];
if($status==''){
echo "Waiting for Restaurant confirmation";
} else{
?>

<p name="status" class="btn theme-btn btn-lg">


<a href="javascript:void(0);" onClick="popUpWindow('trackorder.php?oid=<?php echo
htmlentities($row['Ordernumber']);?>');" title="Track order" style="color:#fff">

<?php echo $status;?></a></p>


<?php } ?>
</div>
</div>
</div>
</div>
</div>
<!-- end:Right Sidebar -->
</div>

<?php } ?>
<!-- end:row -->
</div>
<!-- end:Container -->

<!-- start: FOOTER -->


<?php include('includes/footer.php');?>
<!-- end:Footer -->
</div>
<!-- end:page wrapper -->
</div>
<!--/end:Site wrapper -->

<!-- Bootstrap core JavaScript


================================================== -->
<script src="js/jquery.min.js"></script>
<script src="js/tether.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/animsition.min.js"></script>
<script src="js/bootstrap-slider.min.js"></script>
<script src="js/jquery.isotope.min.js"></script>
<script src="js/headroom.js"></script>
<script src="js/foodpicky.min.js"></script>
</body>

</html>
<?php } ?>

ADMIN PROFILE

<?php
session_start();
error_reporting(0);
include('includes/dbconnection.php');
error_reporting(0); if
(strlen($_SESSION['fosaid']==0)) {
header('location:logout.php');
} else{

if(isset($_POST['submit']))
{
$adminid=$_SESSION['fosaid'];
$adminname=$_POST['adminname'];
$mobno=$_POST['mobilenumber'];
$email=$_POST['email'];

$query=mysqli_query($con, "update tbladmin set AdminName ='$adminname', MobileNumber='$mobno',


Email='$email' where ID='$adminid'");
if ($query) {
$msg="Admin profile has been updated.";
}
else
{
$msg="Something Went Wrong. Please try again.";
}
}
?>
<!DOCTYPE html>
<html>
<head>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Door Delights</title>

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


<link href="font-awesome/css/font-awesome.css" rel="stylesheet">
<link href="css/plugins/iCheck/custom.css" rel="stylesheet">
<link href="css/plugins/steps/jquery.steps.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">

</head>

<body>

<div id="wrapper">

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

<div id="page-wrapper" class="gray-bg">


<?php include_once('includes/header.php');?>
<div class="row border-bottom">

</div>
<div class="row wrapper border-bottom white-bg page-heading">
<div class="col-lg-10">
<h2>Admin Profile</h2>
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="dashboard.php">Home</a>
</li>
<li class="breadcrumb-item">
<a>Profile</a>
</li>
<li class="breadcrumb-item active">
<strong>Update</strong>
</li>
</ol>
</div>
</div>
<div class="wrapper wrapper-content animated fadeInRight">
<div class="row">
<div class="col-lg-12">
<div class="ibox">

<div class="ibox-content">
<p style="font-size:16px; color:red;"> <?php if($msg){
echo $msg; } ?> </p>

<?php
$adminid=$_SESSION['fosaid'];
$ret=mysqli_query($con,"select * from tbladmin where ID='$adminid'");
$cnt=1; while
($row=mysqli_fetch_array($ret)) {

?>

<form id="submit" action="#" class="wizard-big" method="post" name="submit">


<fieldset>
<div class="form-group row"><label class="col-sm-2 col-form-label">Admin
Name:</label>
<div class="col-sm-10"><input name='adminname' id="adminname"
class="form-control white_bg" value="<?php echo $row['AdminName'];?>">

</div>
</div>
<div class="form-group row"><label class="col-sm-2 col-form-label">User
Name:</label>
<div class="col-sm-10"><input type="text" class="form-control"
name="username" readonly="true" value="<?php echo $row['UserName'];?>"></div>
</div>

<div class="form-group row"><label class="col-sm-2 col-


formlabel">MobileNumber:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="mobilenumber"
required="true"value="<?php echo $row['MobileNumber'];?>">
</div>
</div>

<div class="form-group row"><label class="col-sm-2 col-form-


label">Email:</label>
<div class="col-sm-10"><input type="email" class="form-control"
name="email" required="true" value="<?php echo $row['Email'];?>"></div>
</div>
<div class="form-group row"><label class="col-sm-2 col-form-label">Admin
Registration date:</label>
<div class="col-sm-10"><input type="text" class="form-control"
name="adminrd" readonly="true" value="<?php echo $row['AdminRegdate'];?>"></div>
</div>

</fieldset>

</fieldset>

<?php } ?>

<p style="text-align: center;"><button type="submit" name="submit" class="btn


btnprimary">Update</button></p>

</form>
</div>
</div>
</div>

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

<!-- Mainly scripts -->


<script src="js/jquery-3.1.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/plugins/metisMenu/jquery.metisMenu.js"></script>
<script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script>

<!-- Custom and plugin javascript -->


<script src="js/inspinia.js"></script>
<script src="js/plugins/pace/pace.min.js"></script>

<!-- Steps -->


<script src="js/plugins/steps/jquery.steps.min.js"></script>

<!-- Jquery Validate -->


<script src="js/plugins/validate/jquery.validate.min.js"></script>

<script>
$(document).ready(function(){
$("#wizard").steps();
$("#form").steps({
bodyTag: "fieldset",
onStepChanging: function (event, currentIndex, newIndex)
{
// Always allow going backward even if the current step contains invalid fields!
if (currentIndex > newIndex)
{
return true;
}

// Forbid suppressing "Warning" step if the user is to young


if (newIndex === 3 && Number($("#age").val()) < 18)
{
return false;
} var

form = $(this); //

Clean up if user went

backward before

if (currentIndex < newIndex)

{
// To remove error styles
$(".body:eq(" + newIndex + ") label.error", form).remove();
$(".body:eq(" + newIndex + ") .error", form).removeClass("error");
}

// Disable validation on fields that are disabled or hidden.


form.validate().settings.ignore = ":disabled,:hidden";
// Start validation; Prevent going forward if false
return form.valid();
},
onStepChanged: function (event, currentIndex, priorIndex)
{
// Suppress (skip) "Warning" step if the user is old enough.
if (currentIndex === 2 && Number($("#age").val()) >= 18)
{
$(this).steps("next");
}

// Suppress (skip) "Warning" step if the user is old enough and wants to the previous step.
if (currentIndex === 2 && priorIndex === 3)
{
$(this).steps("previous");
}
},
onFinishing: function (event, currentIndex)
{ var form
= $(this);

// Disable validation on fields that are disabled.


// At this point it's recommended to do an overall check (mean ignoring only disabled fields)
form.validate().settings.ignore = ":disabled";

// Start validation; Prevent form submission if false


return form.valid();
},
onFinished: function (event, currentIndex)
{ var form
= $(this);

// Submit form input


form.submit();
}
}).validate({
errorPlacement: function (error, element)
{
element.before(error);
},
rules: {
confirm: {
equalTo: "#password"
}
}
});
});
</script>

</body>

</html>
<?php } ?>

ADMIN INDEX PAGE

<?php
session_start(); error_reporting(0);
include('includes/dbconnection.php');

if(isset($_POST['login']))
{
$adminuser=$_POST['username'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"select ID from tbladmin where UserName='$adminuser' &&
Password='$password' ");
$ret=mysqli_fetch_array($query);
if($ret>0){
$_SESSION['fosaid']=$ret['ID'];
header('location:dashboard.php');
}
else{
$msg="Invalid Details.";
}
}
?>
<!DOCTYPE html>
<html>

<head>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Door Delights| Admin Login</title>


<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="font-awesome/css/font-awesome.css" rel="stylesheet">

<link href="css/animate.css" rel="stylesheet">


<link href="css/style.css" rel="stylesheet">

</head>

<body class="gray-bg">

<div class="loginColumns animated fadeInDown">


<div class="row">

<div class="col-md-6">
<h2 class="font-bold">Door Delights | Admin Login</h2>

</div>
<div class="col-md-6">
<div class="ibox-content">
<p style="font-size:16px; color:red" align="center"> <?php if($msg){
echo $msg; } ?> </p>
<form class="m-t" role="form" action="" method="post" name="login">
<div class="form-group">
<input type="text" class="form-control" placeholder="username" name="username"
required="">
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Password" required=""
name="password">
</div>
<button type="submit" class="btn btn-primary block full-width m-b"
name="login">Login</button>
<a href="forgot-password.php">
<p>Forgot password?</p>
</a>

</form>

</div>
</div>
</div>
<hr/>
</div>
<?php include_once('includes/footer.php');?>
</body>

</html>
8.Development Tools

8.1 Database Environment

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
wellknown 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.

8.2 Web Technology

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.

8.3 System Platform


The project is a cross platform-based system which includes Windows desktop client device and
Android mobile phone client device in order to operate the proposed system
Therefore, IOS mobile phone client device will not compatible with the proposed system.

8.4 Project Management Tool

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.

8.5 Visual Paradigm Community Edition

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.

8.6 Test Plan

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.

9.1 Acceptance Testing

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

10.1 Proposed System Completion

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

11.1 System Strength

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.

11.2 System Limitation

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

• Dashboard
• Order

• Registered User
Search orders
Sign in
Sign up
Track

User Profile
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.

You might also like