Project Report On Pizza Ordering Website - Project-Report-On-Pizza-Ordering-Website
Project Report On Pizza Ordering Website - Project-Report-On-Pizza-Ordering-Website
PROJECT REPORT
ON
ONLINE PIZZA ORDERING WEBSITE
Project-I
JUNE 2022
CERTIFICATE
We, Prateek Baheti and Prakash Kumar hereby declare that the report of the project
entitled “Online Pizza Ordering Website” has not presented as a part of any other
Jalandhar, for the fulfillment of the requirements for the degree of B. Tech in
II
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
ACKNOWLEDGEMENT
It is great pleasure to present this report on the project title “Online Pizza Ordering
Website” undertaken by us as part of our B.Tech degree in Computer Science &
Engineering final year. We are thankful to our university for offering us such a
wonderful challenging opportunity and we express our deepest thanks to all
coordinators, for providing all the possible help and assistance and their constant
encouragements.
We are extremely thankful to Dr. Sahil Vashisht, HOD, Computer Science &
Engineering, Chandigarh Engineering College Jhanjeri, Mohali (Punjab) for valuable
suggestions and motivation.
We are also thankful to all our teachers who have taught us till date in our degree,
management of institute and Dr. Rajneesh Talwar, Director Engineering for
providing us the opportunity to get the knowledge.
(Signature of Students)
Prateek Baheti
Prakash Kumar
III
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
TABLE OF CONTENTS
Title Page I
Certificate by the Candidate II
Acknowledgement III
Table of Contents IV – V
Abstract VI
CHAPTER 1 INTRODUCTION 1-4
1.1 Introduction 1
1.2 Aim and objectives 1-2
1.3 Tools Used 2-4
CHAPTER 2 REVIEW OF LITERATURE 5-7
2.1 Goal 5
2.2 Existing Solutions 6
2.3 Our Solution 6
2.4 Technical Constraints 6
2.5 Use cases 6-7
CHAPTER 3 PROBLEM FORMULATION AND OBJECTIVES 8-14
3.1 Problem Formulation 8
3.2 Objectives 8-10
3.3 System Specification 10-11
3.4 Requirements 12-14
CHAPTER 4 DESIGN AND INMPLEMENTATION 15-35
4.1 Software Development Lifecycle Model 15
4.2 Modules of the project 16
4.3 Approach 16-18
4.4 To sum it up 18
4.5 System Model 19-22
4.6 Implementation 22-24
4.7 Database Schema 24-25
4.8 E-R Diagram 26-27
IV
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
V
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
ABSTRACT
In this document I am presenting the requirements specification for an online ordering system
designed primarily for use in the food delivery industry. My system will allow restaurants to
quickly and easily manage an online menu which customers can browse and use to place orders
with just a few clicks. The system then relays these orders to restaurant employees through an easy
to navigate graphical interface for efficient processing.
Described within the document is an overall model of the system, outlines of functional and
non-functional requirements, and a detailed description of the user interface. Finally, the document
presents an account of the evolution of the system along with anticipated maintenance.
VI
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-1
INTRODUCTION
1.1 Introduction
You must have ordered your pizzas on phone for home delivery. The process seems easy to
use but at times there is miscommunication. As there is no visual menu shown during a phone call,
the employees have to repeat a lot of things again and again to the customers. It’s a time
consuming process which at times irritates customers. Also it takes a lot of time of the pizzeria
staff. It would be much more comfortable for the customers to have an online pizza ordering
system. It would be hassle free for users as they can select the pizzas they want and make payment
for it. Also it will reduce the purchasing time for customers. Let us look at another benefit of using
this system. Suppose I go to a pizzeria and make order. Even after ordering pizzas from their
outlet, I have to wait at least 15 minutes for my order to be ready. Wouldn’t it be much more
convenient if I ordered my pizzas before using a mobile app or an online system and then it will
tell me the time by which I have to pick my order from their counter. It would be great for me as I
don’t need to wait for my pizza. I need to reach there only when my pizza is ready. In a nutshell,
we can say that improved and efficient services are provided to the customers by the inclusion of
internet in your business. As a business point of view it gives you an edge over your competitors.
1
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Many Restaurants stores and maintain their day to day transactions manually. But some of
them are having automation system which is helping them to store the data. But such restaurants are
storing the information about the orders and the customer information. They don’t have facility to
store the information of feedbacks and favorite orders of customers over some period of time.
Restaurants are having standalone applications so at one time, they have the facility of many
screens or many operations which is happening at one time. So they are storing them and then at
last, the restaurant managers will able to see the data of last day.
The proposed system helps in many ways. It helps to do billing very easily. Account
maintenance also becomes easier. They can keep track of their purchases of inventories, staffs
details, customer feedback, sales of foods, and account details etc.
1.3.1.1 HTML
Hypertext Markup Language (HTML) is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as Cascading
Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers receive HTML
documents from a web server or from local storage and render the documents into multimedia web
pages. HTML describes the structure of a web page semantically and originally included cues for
the appearance of the document.
1.3.1.2 CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of
a document written in a markup language like HTML.CSS is a cornerstone technology of the
World Wide Web, alongside HTML and JavaScript.CSS is designed to enable the separation of
presentation and content, including layout, colors, and fonts.This separation can improve content
accessibility, provide more flexibility and control in the specification of presentation
characteristics, enable multiple web pages to share formatting by specifying the relevant CSS in a
separate .css file, and reduce complexity and repetition in the structural content.
2
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
1.3.1.3 JavaScript
JavaScript s a high-level, interpreted scripting language that conforms to the ECMAScript
specification. JavaScript has curly-bracket syntax, dynamic typing, prototype-based object-
orientation, and first-class functions. Alongside HTML and CSS, JavaScript is one of the core
technologies of the World Wide Web. JavaScript enables interactive web pages and is an essential
part of web applications. The vast majority of websites use it,and major web browsers have a
dedicated JavaScript engine to execute it. As a multi-paradigm language, JavaScript supports
event-driven, functional, and imperative (including object-oriented and prototype-based)
programming styles. It has APIs for working with text, arrays, dates, regular expressions, and the
DOM, but the language itself does not include any I/O, such as networking, storage, or graphics
facilities. It relies upon the host environment in which it is embedded to provide these features.
1.3.2 Backend
1.3.2.1 Django
Django is a high-level Python web framework that encourages rapid development and clean,
pragmatic design. Built by experienced developers, it takes care of much of the hassle of web
development. It’s free and open source.
1.3.3 DBMS
1.3.3.1 SQLite
SQLite is an in-process library that implements a self-contained, serverless, zero-
configuration, transactional SQL database engine. The code for SQLite is in the public domain and
is thus free for use for any purpose, commercial or private. SQLite is the most widely
deployed database in the world with more applications than we can count, including several high-
profile projects.
SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not
have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete
SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file.
The database file format is cross-platform - you can freely copy a database between 32-bit and 64-
bit systems or between big-endian and little-endian architectures. These features make SQLite a
popular choice as an Application File Format. SQLite database files are a recommended storage
3
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
format by the US Library of Congress. Think of SQLite not as a replacement for Oracle but as a
replacement for fopen().
1.3.4.4 GitHub
GitHub, Inc. is a provider of Internet hosting for software development and version
control using Git. It offers the distributed version control and source code management (SCM)
functionality of Git, plus its own features. It provides access control and several collaboration
features such as bug tracking, feature requests, task management, continuous
integration and wikis for every project. Headquartered in California, it has been a subsidiary
of Microsoft since 2018.
It is commonly used to host open-source projects. As of November 2021, GitHub reports having
over 73 million developers and more than 200 million repositories (including at least 28 million
public repositories). It is the largest source code host as of November 2021.
4
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-2
REVIEW OF LITERATURE
That exploration of the buyer's acceptance of online pizza applicant or different subjects with
in Indian context is restricted as online pizza requesting administration has entered the Indian
market a few years ago. The paper surveyed identifies with the experiments performed out beyond
India, where even the web pizza request has become a success. As has been the case, online food
applicants have recently started its Business in Indian Market and are still on track to be a success.
Client Perspective and Comfort for Ordering Pizza on the Internet, there was a case on
Foodzoned.com website, in the city Manipal (2016)-The investigation revealed that there was a
high growth in internet food requesting administration. That understudy clients of all these
administrations were trained all over with the data available on such pages as well as feel a lot
more comfortable with the help of the web-based administration.
Benny el (2002)- His studies clarifies the recognition of online purchasing as well as the
target of online shopping is not only affected with its propensity to simplicity of value,
satisfaction, but also by exogenous components such as buyer characteristics, situational factors,
past web-based shopping encounters and item quality and web-based shopping confidence.
A pizzeria specialized in custom made pizzas is currently taking orders by phone. The current
system where the customer calls the pizzeria takes time of employees to answer the phone and is
more work consuming than necessary. They want to allow customers to customize and order their
pizzas online. The pizzeria also aims to increase the sales, due to the easy to use order online
website. The system will give the employees more time to “work” rather then to accept orders by
phone, also the potential increase in customers are enough reason for the pizzeria to accept the
change (website where customers can order their customized pizzas).
2.1 Goal
Our goal is to deliver a database with a user interface (website) where customers can select
various ingredients for their own pizza and place their order. The order will be sent to the
“kitchen” where the pizza will be made. The focus is to create an “easy to use” website, which will
allow a first time customer to complete their order with ease.
5
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
6
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
2.5.1 Ordering
The first use case is ordering. To order, a potential customer must first know what he can
choose from (“What’s on the menu?”). For ordering custom pizzas a customer will have to know
the ingredients he can choose from and how choosing ingredients will influence the total price.
Customers pick ingredients for their pizza and sometimes they want a double portion of specific
ingredients. When a customer is done choosing his pizza, he may want to order several pizzas of
the same configuration. A customer may also want to order non-pizza side orders, such as drinks
and salads. Also the customer will have to provide his name, address and telephone number. A
customer can also pick another delivery date and time if they wish for the order to be delivered on
a later date and time. Customers can order up to two weeks in advance.
2.5.3 Administration
Custom pizzas are made by selecting several ingredients, the list of available ingredients and
their prices are administrated by an employee, for instance the manager. Administration includes
added, editing and deleting ingredients. Besides the administration of ingredients, the non-pizza
side orders must also be administrated. Administrators also need to have logs of previous orders.
7
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-3
PROBLEM FORMULATION AND OBJECTIVES
Also, it takes a lot of time of the pizzeria staff. It would be much more comfortable for the
customers to have an online pizza ordering system. It would be hassle-free for users as they can
select the pizzas they want and make payment for it. Also, it will reduce the purchasing time for
customers. Let us look at another benefit of using this system.
Suppose I go to a pizzeria and make the order. Even after ordering pizzas from their outlet, I
have to wait at least 15 minutes for my order to be ready. Wouldn’t it be much more convenient if I
ordered my pizzas before using a mobile app or an online system and then it will tell me the time by
which I have to pick my order from their counter?
It would be great for me as I don’t need to wait for my pizza. I need to reach there only when
my pizza is ready. In a nutshell, we can say that improved and efficient services are provided to the
customers by the inclusion of internet in your business. From a business point of view, it gives you
an edge over your competitors.
3.2 Objectives
In today’s age of fast food and take-out, many restaurants have chosen to focus on quick
preparation and speedy delivery of orders rather than offering a rich dining experience. Until very
recently, all of these delivery orders were placed over the phone, but there are many disadvantages
to this system, including the inconvenience of the customer needing to have a physical copy of the
menu, lack of a visual confirmation that the order was placed correctly, and the necessity for the
restaurant to have an employee answering the phone and taking orders.
8
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
What I propose is an online ordering system, originally designed for use in college cafeterias,
but just as applicable in any food delivery industry. The main advantage of my system is that it
greatly simplifies the ordering process for both the customer and the restaurant. When the customer
visits the ordering webpage, they are presented with an interactive and up-to-date menu, complete
with all available options and dynamically adjusting prices based on the selected options. After
making a selection, the item is then added to their order, which the customer can review the details
of at any time before checking out. This provides instant visual confirmation of what was selected
and ensures that items in the order are, in fact, what was intended.
This system also greatly lightens the load on the restaurant’s end, as the entire process of
taking orders is automated. Once an order is placed on the webpage, it is entered into the database
and then retrieved, in pretty much real-time, by a desktop application on the restaurant’s end.
Within this application, all items in the order are displayed, along with their corresponding options
and delivery details, in a concise and easy to read manner. This allows restaurant employees to
quickly go through the orders as they are placed and produce the necessary items with minimal
delay and confusion.
The main aim of this project Online Pizza Ordering System is to sell Pizza online order. In this
project Online Pizza Ordering System customers can give order from any place and pay cash on
delivery or online. This project provides information of customer details before making order. This
project Online Pizza Ordering System is very helpful for customers in ordering custom pizzas. This
project also give option to the customer for online payment. This project provides a lot of features
to manage in very well manner. In current system, we have integrated a single payment system
Cash on delivery but in future we will enhance it with online payment system. When an order has
been confirmed by a customer order processing begins. Throughout the order processing the order
status will be updated and the customer will be notified. New orders will show up in a list for the
employees in the kitchen.
Many Restaurants stores and maintain their day to day transactions manually. But some of
them are having automation system which is helping them to store the data. But such restaurants are
storing the information about the orders and the customer information. They don’t have facility to
store the information of feedbacks and favorite orders of customers over some period of time.
Restaurants are having standalone applications so at one time, they have the facility of many
9
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
screens or many operations which is happening at one time. So they are storing them and then at
last, the restaurant managers will able to see the data of last day.
The proposed system helps in many ways. It helps to do billing very easily. Account
maintenance also becomes easier. They can keep track of their purchases of inventories, staffs
details, customer feedback, sales of foods, and account details etc.
Ordering involves customizing pizzas, selecting products and entering customer information.
The system will have to provide the user with data about the ingredients and the non-pizza products
such as name and price. Users will provide an order which consists of custom pizzas by selecting
ingredients, non-pizza products, and customer information like name, address and telephone
number. For every custom pizza and non-pizza product users can also specify an amount if they
wish to order more than one of them.
Order processing is involved in preparing and delivering orders. The system needs to provide
the kitchen employees with a list of pending orders. Of each order the ordered products and pizzas
must be shown, together with the amount of each product. For each custom pizza the selected
ingredients must also be shown. The kitchen employees will first view the order and decide if they
are going to process the order or not. The decision will be entered by changing the status of the
order to the respective status. An e-mail will be sent to customer to keep him informed of the
ordering status. After the order is prepared, the order will be passed to the delivery employees who
will use the system to retrieve the customer details.. The status of the order will change to “being
delivered” and an new e-mail will be sent to the customer. When the order is delivered, the delivery
employee can mark the order as “delivered”, or in case he failed to deliver it he will make it as
“failed to deliver”.
10
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Administration includes adding, editing and deleting available ingredients, non-pizza products
and employees and viewing previous orders. The system will be able to show a list of ingredients
and a list of products. For each ingredient and non-pizza product a name, price and picture can be
specified. The system also needs a function to show previous orders.
11
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
3.4 Requirements
This section describes different types of users of the system in 3.3.1. In the following
paragraph 3.3.2, the functional requirements for each type of user are listed. 3.3.3 Lists the non-
functional requirements of the system.
3.4.1 Users
Three types of users should be able to use the system: customer, employee and administrator.
Customers are users who visit the website and can create orders by customizing pizzas, selecting
products and entering customer details. Employees are the group of users that work with the
ordering system on a daily basis. Employees will have their own accounts to log on to. They are the
ones responsible for processing orders. Since Customer users do not need a log in, employees who
process telephone orders can use the system as a Customer and enter the telephone order directly
into the system as they take the order from the calling customer. The administrator, or super user,
has the ultimate control of the system, he can add, change or delete ingredients and products, as
well as add, change, or delete employee accounts.
12
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
3.4.2.1.9 The user must be able to delete a custom pizza from an order.
3.4.2.1.10 The user must be able to delete a non-pizza product from an order.
3.4.2.1.11 The user must be able to see the total price of an order.
3.4.2.1.12 The user must be able to choose a delivery date and time that is up to two weeks ahead.
3.4.2.1.13 The user must be able to add the name and address of the customer.
3.4.2.1.14 The user must be able to clear the current order to start a new one.
3.4.2.1.15 The user must be able to confirm the order.
3.4.2.2 Employees
3.4.2.2.1 The employee must be able to log in and out.
3.4.2.2.2 The employee must be able to view a list of available orders and their custom pizzas.
3.4.2.2.3 The employee must be able to mark orders as “prepared”.
3.4.2.2.4 The employee must be able to mark order as “delivered”
3.4.2.2.5 The employee must be able to mark order as “failure to deliver”
3.4.2.2.6 Only users with respective rights (employee) must be able to use all these “Employees”
features.
3.4.2.3 Administrators
3.4.2.3.1 The administrator must be able to log in and out.
3.4.2.3.2 The administrator must be able to add/delete/edit orders.
3.4.2.3.3 The administrator must be able to add/delete/edit ingredients.
3.4.2.3.4 The administrator must be able to add/delete/edit non-pizza products.
3.4.2.3.5 The administrator must be able to add/delete/edit other users.
3.4.2.3.6 The administrator must be able to view an order log.
3.4.2.3.7 Only users with respective rights (administrators) must be able to use all these
“Administrators” features.
13
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
order logs which could have a higher response time (of seconds) as the log increases in size over
time. Due to the low complexity of the system, no problems with response time are expected.
Customers who visit the website to order will get a sessionID for their visit, which is used to
identify them while using the system. For every action they take, a timestamp is stored. From time
to time a service on the server will scan sessionID’s and timestamps. SessionID’s which have not
been active for more than three hours will be deleted along with the corresponding ordering
information.
14
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-4
DESIGN AND IMPLEMENTATION
15
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
User
o Home Page: User can visit the Home Page
o Pizza Detail: Can view pizza detail
o Add to Cart: Add the selected item to the cart
o Proceed to Checkout: Proceed to checkout page, where all the customer details
are to be filled, like Name, Contact number, email, address, etc., and finalize
all the purchase of all items present in the cart
o Contact Us: Allows the user to write query/feedback/complain to the owner.
4.3 Approach
Our solution to make the pizzeria more efficient will be a website to create orders online,
which should be come with a good user interface. Also it should be “fast” as in the customer will
be able to order his pizza in a matter of minutes. We stress the importance of “easy to use” user
interface here because some customers will leave if the website is too complicated. In the case of a
website where a user goes to for personal interest a less user friendly interface is not a big problem
since he will try and try to get the information due to his interest in the site.
To create the website we will first analyze the current processes of the pizzeria. This will be
recorded in the use cases. From the use cases we derive the system specification which describes
what the system should be able to do. It will contain the needed functionalities and the technical
16
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
specification. Then we will analyze the different users and list their functional requirements and
non-functional requirements for the system in detail.
With all the specification and requirements we will create an information model using an E-R
diagram to describe the entities and the relations between the entities. From the E-R diagram we
will derive a relational schema which will be used for the final database design. The E-R diagram
will be made in Visio.
GUI prototypes will follow using screen mockups in the form of images. These mockups will
be created using Photoshop.
To support implementation, a list of functions will be created describing what actions these
functions need to perform. The list will also include the SQL statements that are needed to perform
these actions.
During implementation, test scripts will be created. After implementation is complete, the test
scripts will be run by a few people to detect implementation errors. The project will end when the
implementation errors are fixed. Project planning and Workload distribution.
Prateek Prakash Deadline Week Actual Delivery week
Use cases 1 2 37 38
System 1 2 37 38
Specifications
Requirements 1 2 37 39
E-R Diagram 1 2 38 38
Relational Schema 1 2 39 39
GUI Prototypes 2 1 39 40
Function List 2 1 40 40
Implementation 1 2 40 41
Test scripts 2 1 41 41
Testing 1 2 41 41
Manual 2 1 42 42
1 = Main Responsibility ; 2 = Takes part in
17
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
4.4 To sum it up
Database Managing System: SQLite
Tool to access the database: Object-Relational Mapper
Programming paradigm: Django
Tool used to edit HTML: Macromedia Dreamweaver
Tool used for graphics design: Macromedia Fireworks
18
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
The structure of the system can be divided into 3 main logical components:
• Web Ordering System- provides the functionality for customers to place their order and
supply necessary details.
• Menu Management-allows the restaurant to control what can be ordered by the customers
• Order Retrieval System-This is a final logical component. Allows restaurant to keep track
of all orders placed. This component takes care of order retrieving and displaying order
information.
19
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
As the goal of the system is to make the process of placing an order as simple as possible for
the customer, the functionality provided through the web ordering system is restricted to that which
most pertinent to accomplish the desired task. All of the functions outlined above, with the
exceptions of account creation and management, will be used every time a customer places an
order. By not including extraneous functions, I am moving towards my goal of simplifying the
ordering process.
Users of the web ordering system will interact with the application through a series of simple
forms. Each category of food has its own form associated with it which presents a drop down menu
for choosing which specific item from the category should be added to the order, and a series of
check boxes and radio buttons for selecting which options are to be included. Adding an item to the
order is accomplished by a single button click. Users select which category of food they would like
to order, and therefore which form should be displayed, by navigating a menu bar, an approach
which should be familiar to most users.
Entering delivery and payment deals is done in a similar manner. The user is presented with
a form and must complete the required fields, which include both drop down and text boxes, before
checking out and receiving a confirmation number. One thing worth noting here is that whenever
possible drop down boxes and buttons were used over freeform input in order to both simplify the
ordering process and reduce the possibility of and SQL injection attempt.
20
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
It is anticipated that the functionality provided by this component will be one of the first things
noted by the restaurant user, as they will have to go through it to configure their menu, etc. before
beginning to actually take orders. Once everything is initially configured, however, this component
will likely be the least used, as menu updates generally do not occur with great frequency.
User interaction with the menu management system is similar to that with the web ordering
system. Users navigate a tree structure to find the vendor, category, or specific food item that they
would like to modify and after making their selection they are presented with a form which displays
all of the current fields and values associated with that item, all of which can be modified or
removed. The form also presents buttons which allow the addition of new fields and values. Unlike
the web ordering system, however, most of the input here will be freeform, specifically in the form
of text boxes, since there is no finite set of fields which could be added. This does not raise a major
concern though, as input sanitation will be performed, and the user, who is assumed to be a
restaurant employee, is less likely to be malicious than a web user.
21
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
User interaction with the order retrieval will be very simple. The application will automatically
fetch new orders from the database at regular intervals and display the order numbers, along with
delivery time, in a panel on the left hand side of the application. To view the details of an order, the
user must simply click on that order number, which will populate the right-hand panel with the
details, displayed in an easy to read and navigate tree structure. This structure can intuitively be
expanded and collapsed to display only the desired information. Finally, once and order is
processed, the user clicks a single button, labeled “Processed”, to remove it from the list of active
orders.
4.6 Implementation
4.6.1 Hardware/Software Interface
This section lists the minimum hardware and software requirements needed to run the system
efficiently.
Hardware Interface:
• Pentium Processor
• 60 MB of free hard-drive space
• 128 MB of RAM
Software Interface: • Operating System: Windows (Vista/7 or above)
• Web Browser: IE 10 or above, Mozilla FF 31 and above or Google Chrome
• Drivers: Java Runtime Environment
• Integrated Development Environment: Eclipse J2EE or Apache Tomcat
22
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Let us now understand the working of this system. Whenever a customer visits the webpage or
mobile application of the pizzeria, he/she will have to select his location so that the order is made to
the nearest pizzeria. The menu will be visible to the customer with the pizzas and other non-pizza
products on offer. All the ingredients will be shown at their prices.
Now the customer will customize his pizza and make changes in the ingredients if he wishes and
select the quantity for it. After selecting the items to be ordered, the customer has to select the type
of order whether it will be home delivery or pick up. After that, the customer has to provide his/her
details like name, phone number, address, email id.
23
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Now payment option is shown to the customer. He has to choose from the various online
payment methods or cash-on-delivery options. After this process, the order is made and the
customer is notified about the time by which the pizza will be delivered to them.
Temp_order Final_order
Pizza
temp_id o_id
pizza_id
name buyer_name
pizza_name
description desc phone_no
price quantity email
size price location
amount total_bill
o_id
Person_uuid
uuid
finalised
4.7.1 Pizza
Pizza table stores the details of the pizza. There are 16 variants of pizza available and the details of
each variant is stored using this table. The various attributes includes:-
Pizza_id:- Primary Key of the table. Used to uniquely identify each pizza.
Description:- Stores the description of the pizza, like, items used to make the pizza, etc.
24
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
4.7.2 Temp_order
Temp_order table is used to store the details of the items selected by the user. This table acts as the
cart of the user and stores all the items selected by the user in it.
Price:- Price of single item after applying all the add-ons and extra charges.
4.7.3 Person_uuid
Used to create and store an unique id based on the IP address used to visit the site and the time of
visit. The unique id is used to distinguish between multiple users accessing the site at the same time.
This table stores the details of the user that are required to contact him and deliver the pizza at
required address.
25
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
26
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
We chose for a separate Non-Pizza and Pizza table, because it is far more clear to program. If
we would combine both the tables, we would get confusing situations, because Pizza records are
being created by the customers, and non-pizza records are being created by the administrators. The
attributes might be very similar but a pizza record is always connected to a bunch of ingredient
records, where this is not the case for the non-pizza records. The price of a pizza is based on the
individual ingredient prices. Upon completing the pizza, the price is being inserted in the Pizza
table.
Figure 4.3 shows the Entity-Relationship Diagram (ERD). In this paragraph every relation
between entities is described.
Customer --- Places --- Order
A customer can place several orders; the customer entity holds attributes describing properties
concerning the customer. The order entity holds attributes such as OrderStatus to track the status of
the order (new/prepared/delivered/failed to deliver).
Employee --- finalizes --- Order
An employee is responsible for the multiple or one order. By tracking this, it is possible to look up
which employee finalized which order.
Employee --- Adds New --- Non-Pizza
Through this relationship it is possible to track which non-pizza product has been added to the
database by which employee.
Employee --- Adds New --- Ingredients
Through this relationship we track which ingredient has been added by which employee.
Pizza --- PizzaIngredients --- Ingredients
This relation describes which ingredients belong to the pizza creations (created by customers during
their shopping process). A pizza can have 1 or multiple ingredients. It is impossible for a pizza to
have zero ingredients.
Order --- OrderNonPizza --- Non-Pizza
This tracks which non-Pizza products have been selected by the customer during the shopping
process. An Order can have 1, multiple or none Non-Pizza products.
Order --- Has --- Pizza
This relation tracks the pizza’s which belong to an order created by a customer.
27
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
28
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
29
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
30
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
31
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
32
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
33
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Admin Queries
34
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Customer Queries
35
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-5
TESTING TEMPLATES
36
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
37
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
38
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-6
RESULTS AND DISCUSSIONS
6.1 Results
6.1.2 Home Page
6.1.2 Services
39
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
6.1.3 Contact Us
6.1.4 Menu
40
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
6.1.5 Cart
6.1.6 Checkout
41
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
6.2 Discussions
6.2.1 WhyPython:
Python is a high-level, interpreted and general-purpose dynamic programming language
that focuses on code readability. The syntax in Python helps the programmers to do coding in fewer
steps as compared to Java or C++. The language founded in the year 1991 by the developerGuido
Van Rossum has the programming easy and fun to do. The Python is widely used in
bigger organizations because of its multiple programming paradigms. They usually involve
imperative and object-oriented functional programming. It has a comprehensive and large
standard library that has automatic memory management and dynamic features. Python has
top the charts in the recent years over other programming languages like C, C++ and Java and is
widely used by the programmers.The language has under gone a drastic change since its release 25
years ago as many add-onfeaturesareintroduced.ThePython1.0hadthemodulesystemofModula-
3andinteracted with Amoeba Operating System with varied functioning tools. Python 2.0
introduced in the year 2000 had features of garbage collector and Unicode Support. Python
3.0 introduced in the year 2008 had a constructive design that avoids duplicate modules and
constructs. With the added features, now the companies are using Python3.5. The software
development companies prefer Python language because of its versatile featuresand fewer
programming codes. Nearly 14% of the programmers use it on the operating systems like UNIX,
Linux, Windows and Mac OS. The programmers of big companies use Python as it has
created a mark for itself in the software development with characteristic features
like-Interactive,Interpreted,Modular,Dynamic,Object-oriented,Portable,High level,Extensible in
C++ &C.
42
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
43
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
architectures. These featuresmake SQLite a popular choice as an Application File Format. SQLite
database files are a recommendedstorage format by the US Library of Congress. Think of
SQLite not as a replacement for Oracle but as a replacement forfopen().SQLite is a compact
library. With all features enabled, the library size can be less than 500KiB, depending on the target
platform and compiler optimization settings. (64-bit code is larger. And some compiler
optimizations such as aggressive function inlining and loop unrolling can cause the object
code to be much larger.) There is a tradeoff between memory usage and speed. SQLite generally
runs faster the more memory you give it. Nevertheless, performance is usually quite good
even inlow-memory environments. Depending on how it is used, SQLite can be faster thandirect
file system I/O.SQLite is very carefully tested prior to every release and has a reputation for being
very reliable. Most of the SQLite source code is devoted purely to testing and verification. An
automated test suite runs millions and millions of test cases involving hundreds of millions
of individual SQL statements and achieves 100% branch test coverage.SQLite responds
gracefully to memory allocation failuresand disk I/O errors. Transactions are ACID even if
interrupted by system crashes or power failures. All of this is verified by the automated
tests using special test harnesses which simulate system failures. Of course, even with all
this testing, there are still bugs. But unlike some similar projects (especially commercial
competitors) SQLite is open and honest about all bugs and provides bugs lists and minute-
by-minute chronologies of code changes.The SQLite code base is supported by an international
team of developers who work on SQLite full-time. The developers continue to expand the
capabilities of SQLite and enhance its reliability and performance while maintaining backwards
compatibility with the published interfacespec,SQL syntax, and database file format. The
source code is absolutely free to anybody who wants it, but professional support is
alsoavailable.The SQLite project was started on 2000-05-09. The future is always hard to predict,
but the intent of the developers is to support SQLite through the year 2050. Design decisions are
made with that objective in mind.
44
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
Chapter-7
CONCLUSIONS AND FUTURE SCOPE
7.1 Conclusion
After reviewing our work, the conclusion is that after many adjustments the system works. As
good as it is now, there can still be made many adjustments/improvements. However in the time
was given that three persons can work on this project, the overall results are satisfactory in our
opinion. The report covers the entire course of the project and results are there were needed. This
conclusion chapter is more a description of the process rather than a summary to give all results and
facts. The first weeks the work progressed slower than expected, in the last weeks the pace was
increased to finish on time. At several moments, the progress and pace was commented on that "the
progress was not good". The results of this report should be sufficient evidence that work was done
properly. In chapter 1 the problem description is given, the main goal is to give a clear
understanding what we are doing. Together with the given problems. The approach in chapter 2
gives the explanation how we are going to work with the problems that arised in chapter 1 and
future planning. Chapter 3 is about the results that derived from chapter 1 and 2 problems and
issues. In chapter 3 the system "how we make it" is discussed and specified. Various specifications
of the system but also the users are specified. In chapter 4 we evaluate the system, this is done with
testing templates and making people work with the system other than us. We did not perform
interviews or step by step evaluation with the people other than us, we just showed the system and
asked for feedback. Basically we treated people who we asked to give feedback as customers,
questions like what do u think if the design and such. The final chapter 5 is our conclusion, as said
before the conclusion in this report is not a summary of results and facts. In the report all aspects are
given clear explanation, hence the conclusion would just be a simple summary of our previous
reports. The conclusion as it is now hopefully gives a understanding in the steps taken to make the
report.
45
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
components will continue to evolve with time. For example, with the booming popularity of mobile
applications, I would really like to make the web interface available as a phone application as well.
Also it may make sense to at some point migrate the menu management and order retrieval systems
to web, or even mobile, applications as well, as some users may prefer to use them as such.
I am also certain that if this system goes into actual use, many requests will arise for
additional features which I had not previously considered, but would be useful to have. For this
reason, I feel as though the application can be constantly evolving, which I consider a very good
thing.
The following section describes the work that will be implemented with future releases of the
software.
• Customize orders: Allow customers to customize food orders
• Enhance User Interface by adding more user interactive features. Provide Deals and
promotional Offer details to home page. Provide Recipes of the Week/Day to Home Page
• Payment Options: Add different payment options such as PayPal, Cash, Gift Cards etc.
Allow to save payment details for future use.
• Delivery Options: Add delivery option
• Order Process Estimate: Provide customer a visual graphical order status bar
• Order Status: Show only Active orders to Restaurant Employees.
• Order Ready notification: Send an Order Ready notification to the customer
• Restaurant Locator: Allow to find and choose a nearby restaurant
• Integrate with In store touch screen devices like iPad
46
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering
REFERENCES
[1] Bhavya Saini & H.S. Sethu-Customer’s Perception & Satisfaction on Ordering Pizza’s via
Internet, a Case Study on Pizzazone.com, in Manipal.
[2] Yusof Ismail & Zulkarnain Kedah & A.K.M. Ahasanul Haque & Selim Ahmed-Key
Success Factor’s of Web Pizza OrderingServices.
[3] Harbor’s Communications (2015)-Are pizza deliveries trends hurting drives through sales
www.cestoredecisions. in/2016/05/21/pizza-delivery-trends-hurting-drives-sales.
[4] Kimes SE (2010)-Customers perceptions of web pizza ordering. Mr. Cornell Hospitality
Report 12: 6-15.http:// scholarships.ha.cornel.edu/agi/viewcontent.agi?article=12.
47
Downloaded by Rc King ([email protected])