Project Report
Project Report
A PROJECT REPORT
Submitted towards the partial fulfillment of the requirements for the
Degree of B. Tech
in Computer Science and Engineering
By
SUMAN DAS
Roll No: 25500121057, Reg. No: 212550100110128 of 2021-22
ARUP BANERJEE
Roll No: 25500121026, Reg. No: 212550100110033 of 2021-22
SAIKAT DEY
Roll No: 25500121093, Reg. No: 212550100110088 of 2021-22
PRIYANSHU GHOSH
Roll No: 25500121171, Reg. No: 212550100120019 of 2021-22
have submitted the B. Tech project report entitled “Online Food Ordering
Website” in partial fulfillment of the requirement for the degree of B. Tech in
Computer Science and Engineering of Maulana Abul Kalam Azad University
(formerly W.B.U.T) in the year 2024. It is hereby approved and certified as
creditable study of technological subject carried out and presented in a manner
satisfactory to warrant its acceptance as a prerequisite to the Degree of B. Tech in
Computer Science and Engineering for which it has been [Link] is understood
that by the approval the undersigned does not necessarily endorse or approve any
statement made. Opinion expressed or conclusion drawn therein but approve the
report only for the purpose for which has been submitted.
Date: 24/01/2025
2
ACKNOWLEDGEMENT
We would like to take this opportunity to express my gratitude towards all the people who
have in various ways, helped me in the successful completion of our final year project on
work “Online Food Ordering Website” done satisfactorily at DR. SUDHIR
CHANDRA SUR INSTITUTE OF TECHNOLOGY AND SPORTS COMPLEX. We must
convey our gratitude to Debashis Das, Associate Professor of Computer Science and
Engineering Department for giving us the constant source of inspiration and help us in
preparing the project, personally correcting our work and providing encouragement
throughout the project. In this regard we are especially thankful to our Head of the
Department Dr. Amrut Ranjan Jena for steering us through the tough as well as easy phase
of the project in a result-oriented manner with concerned attention. A special thanks to all
the faculty members of our Computer Science and Engineering Department. We will also
love to take this opportunity to tell the readers of the material that their comments, be it
appreciation or criticism would be the most valuable thing to us. That will be something we
will always thankful to.
Date: 24/01/2025
3
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.
4
TABLE OF CONTENTS
CHAPTERS PAGE NO
1. INTRODUCTION---------------------------------------------------01
1.1 OBJECTIVE
1.2 MODULES
2. LITERATURE SURVEY-----------------------------------------04
2.1 AIM
4. DESIGN--------------------------------------------------------------06
4.1 INTRODUCTION
4.3 ER DIAGRAMS
5
CHAPTERS PAGE NO
4.5 ER NOTATIONS
4. DATABASE DESIGN-------------------------------------------16
4.1 MYSQL TABLES
5. SYSTEM TESTING---------------------------------------------20
5.1 PROJECT IMPLEMENTATION AND TESTING
6. CODING-----------------------------------------------------------22
7. DEVELOPMENT TOOLS-------------------------------------52
7.1 DATABASE ENVIRONMENT
8. TESTING------------------------------------------------------------55
8.1 ACCEPTANCE TESTING
6
CHAPTERS PAGE NO
12. SNAPSHOTS-----------------------------------------------------59
13. CONCLUSIONS-------------------------------------------------67
7
1. INTRODUCTION
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.
1.2 Modules
• Administrator module
• Customer Module
8
• Register
• Place orders
9
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.
10
3. HARDWARE AND SOFTWARE REQUIREMENTS
• Hardware - Pentium
• RAM - 1GB
• Hard Disk - 20 GB
• Monitor - SVGA
Technology : PHP
Database : MySQL
11
[Link]
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.
UML Diagrams:
Actor:
A coherent set of roles that users of use cases play when interacting with the use
`cases.
Use case:
12
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:
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.
13
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
Add / update
Admin
Manage Food Menu
Add/ Update
Order Management
Report Generation
Update Profile
Change Password
14
4.2.2 User Use Case Diagram:
Signup
Sign in
Place order
User
Order Tracking
Change Password
Update Profile
15
4.3 E-R Diagrams:
• It maps well to the relational model. The constructs used in the ER model
can easily be transformed into relational tables.
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.
16
4.5 ER Notation
17
18
4.6 Data Flow Diagram
19
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.
20
tblfood : This tables stores the food details (used for food menu)
21
tblorders: This table store the food order details.
22
5.2 Tables Relationship Diagram
23
6. SYSTEM 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.
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.
24
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.
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.
25
7. CODING
USER page
<?php
session_start();
error_reporting(0);
include('includes/[Link]');
if (strlen($_SESSION['fosuid']==0)) {
header('location:[Link]');
} else {
if(isset($_POST['submit']))
{
$sid=$_SESSION['fosuid'];
$fname=$_POST['firstname'];
$lname=$_POST['lastname'];
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 -->
26
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="#">
<title>Door Delights</title>
<!-- Bootstrap core CSS -->
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/[Link]" 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/[Link]');?>
<!-- /.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)) {
?>
27
<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? -->
28
<div class="col-md-4">
<h4>Update Profile.</h4>
<hr>
<img src="images/[Link]" alt="" class="img-fluid">
<p></p>
</html>
<?php } ?>
29
USER LOGIN PAGE
<?php
session_start();
error_reporting(0);
include('includes/[Link]');
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:[Link]');
}
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/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/[Link]" rel="stylesheet"> </head>
<body>
30
<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/[Link]');?>
<!-- /.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="[Link]">Forgot Password?</a></h6>
</div>
</div>
31
<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="[Link]" 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/[Link]" alt="" class="img-fluid">
<p></p>
32
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
INDEX PAGE
<?php
session_start();
error_reporting(0);
include('includes/[Link]');
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/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
33
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/[Link]" 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/[Link]');?>
<!-- /.navbar -->
</header>
<!-- banner part starts -->
<section class="hero bg-image" data-image-src="images/[Link]">
<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-
[Link]">
<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="[Link]='[Link]'" 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="[Link] 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.5-4.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
34
21h86.243l-17.863 91.602h-117.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="[Link] 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 [Link]-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="[Link] 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.173l-47.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.043h-121.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-
35
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.943-48.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.968-118.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>
<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
36
$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="[Link]?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="[Link]" 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">
37
<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="[Link] 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.5-4.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.602h-117.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="[Link] 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
38
166.775.069 [Link]-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="[Link] 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.173l-47.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.043h-121.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.943-48.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.968-118.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>
39
</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 -->
</html>
40
FOOD DETAILS PAGE
<?php
session_start();
error_reporting(0);
include_once('includes/[Link]');
if (strlen($_SESSION['fosuid']==0)) {
header('location:[Link]');
} 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/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<link href="css/[Link]" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/[Link]" rel="stylesheet"> </head>
<script language="javascript" type="text/javascript">
var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
if(popUpWin)
{
if(![Link]) [Link]();
}
popUpWin = open(URLStr,'popUpWin',
'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,c
opyhistory=yes,width='+600+',height='+600+',left='+left+',
top='+top+',screenX='+left+',screenY='+top+'');
}
41
</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/[Link]');?>
<!-- /.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-
[Link]">
<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/[Link]"
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="[Link]" class="active">Home</a></li>
<li><a href="[Link]">Cart</a></li>
<li>Detail Cart</li>
</ul>
</div>
</div>
<div class="container m-t-30">
42
<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
<ul>
<li>
<label class="custom-control custom-checkbox">
<span class="custom-control-description"><a
href="[Link]?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" data-
toggle="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">
43
<?php
$userid= $_SESSION['fosuid'];
$oid=$_GET['orderid'];
$query=mysqli_query($con,"select
[Link],[Link],[Link],[Link],[Link],tblorder
[Link] from tblorders join tblfood on [Link]=[Link] where
[Link]='$userid' and [Link]=1 and
[Link]='$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="[Link]?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 -->
44
<?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>
</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'];
?>
45
<p style="color:red">
<a href="javascript:void(0);" onClick="popUpWindow('[Link]?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{
?>
<?php } ?>
<!-- end:row -->
</div>
<!-- end:Container -->
46
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
<script src="js/[Link]"></script>
</body>
</html>
<?php } ?>
ADMIN PROFILE
<?php
session_start();
error_reporting(0);
include('includes/[Link]');
error_reporting(0);
if (strlen($_SESSION['fosaid']==0)) {
header('location:[Link]');
} else{
if(isset($_POST['submit']))
{
$adminid=$_SESSION['fosaid'];
$adminname=$_POST['adminname'];
$mobno=$_POST['mobilenumber'];
$email=$_POST['email'];
<head>
<meta charset="utf-8">
47
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Door Delights</title>
</head>
<body>
<div id="wrapper">
<?php include_once('includes/[Link]');?>
</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="[Link]">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){
48
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)) {
?>
</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>
49
</div>
</fieldset>
</fieldset>
<?php } ?>
</form>
</div>
</div>
</div>
</div>
</div>
<?php include_once('includes/[Link]');?>
</div>
</div>
<script>
$(document).ready(function(){
50
$("#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;
}
// Suppress (skip) "Warning" step if the user is old enough and wants to the
previous step.
if (currentIndex === 2 && priorIndex === 3)
{
$(this).steps("previous");
}
},
51
onFinishing: function (event, currentIndex)
{
var form = $(this);
</body>
</html>
<?php } ?>
52
ADMIN INDEX PAGE
<?php
session_start();
error_reporting(0);
include('includes/[Link]');
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:[Link]');
}
else{
$msg="Invalid Details.";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="gray-bg">
<div class="col-md-6">
53
<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="[Link]">
<p>Forgot password?</p>
</a>
</form>
</div>
</div>
</div>
<hr/>
</div>
<?php include_once('includes/[Link]');?>
</body>
</html>
54
[Link] Tools
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 well-known 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.
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.
55
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.
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.
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.
56
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.
57
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.
58
[Link]
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.
59
10. SYSTEM EVALUATE AND DISCUSSION
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
60
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.
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.
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
61
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.
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.
62
13. Screen Shot
Home page
Menu
63
Check out page
Contact page
64
Log in page
Cart
65
Search results
66
13. CONCLUSION
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.
67
14. Source & References
[Link]
[Link]
[Link]
[Link]
68