0% found this document useful (0 votes)
2K views54 pages

Project Report On Pizza Ordering Website - Project-Report-On-Pizza-Ordering-Website

The document describes a project to develop an online pizza ordering website. It discusses the goals of reducing miscommunication during phone orders, allowing customers to browse menus and place orders online, and helping restaurant staff efficiently process and manage orders. The document outlines the system requirements, design, implementation, testing procedures and discusses the results and future improvements.

Uploaded by

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

Project Report On Pizza Ordering Website - Project-Report-On-Pizza-Ordering-Website

The document describes a project to develop an online pizza ordering website. It discusses the goals of reducing miscommunication during phone orders, allowing customers to browse menus and place orders online, and helping restaurant staff efficiently process and manage orders. The document outlines the system requirements, design, implementation, testing procedures and discusses the results and future improvements.

Uploaded by

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

Project report on pizza ordering website

Btech Cse (Chandigarh University)

Studocu is not sponsored or endorsed by any college or university


Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

PROJECT REPORT
ON
ONLINE PIZZA ORDERING WEBSITE

Project-I

Department of Computer Science and Engineering


CHANDIGARH ENGINEERING COLLEGE JHANJERI, MOHALI

In partial fulfillment of the requirements for the award of the Degree of


Bachelor of Technology in Computer Science & Engineering

SUBMITTED BY: Under the Guidance of


Prateek Baheti 1915366 Mr. Shailendra Tiwari
Prakash Kumar 1915365 Asst. Professor, CSE Dept.

JUNE 2022

Affiliated to I.K Gujral Punjab Technical University, Jalandhar


(Batch: 2019-2023)

Downloaded by Rc King ([email protected])


Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

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

academic work to get my degree or certificate except Chandigarh Engineering

College Jhanjeri, Mohali, affiliated to I.K. Gujral Punjab Technical University,

Jalandhar, for the fulfillment of the requirements for the degree of B. Tech in

Computer Science & Engineering.

(Student Signatures with Date) (Mentor Signature with Date)


Prateek Baheti 1915366 Mr. Shailendra Tiwari
Prakash Kumar 1915365 Asst. Professor, CSE Dept.
6th sem

Signature of the Head of Department


(With Stamp)
Dr. Sahil Vashisht
HOD CSE

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

PARTICULARS PAGE NO.

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

4.9 Function Implementation Queries 28-35


CHAPTER 5 TESTING TEMPLATES 36-38
5.1 Ingredients Management 36
5.2 Non-Pizza Management 37
5.3 Order Management 38
5.4 Removal Management 38
CHAPTER 6 RESULTS AND DISCUSSIONS 39-44
6.1 Results 39-42
6.2 Discussions 42-44
CHAPTER 7 CONCLUSIONS AND FUTURE SCOPE 45-46
7.1 Conclusions 45
7.2 Future Scope 45-46
REFERENCES 47

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.2 Aim and Objectives


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 provides a lot of features to manage in very well manner. In current system, we have
integrated a single payment system, “Cash on delivery (COD)” 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.

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 Tools Used


1.3.1 FrontEnd

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 Other Tools


1.3.4.4 Git
Git is a mature, actively maintained open source project originally developed in 2005 by Linus
Torvalds, the famous creator of the Linux operating system kernel. A staggering number of
software projects rely on Git for version control, including commercial projects as well as open
source. Developers who have worked with Git are well represented in the pool of available software
development talent and it works well on a wide range of operating systems and IDEs (Integrated
Development Environments).
Having a distributed architecture, Git is an example of a DVCS (hence Distributed Version Control
System). Rather than have only one single place for the full version history of the software as is
common in once-popular version control systems like CVS or Subversion (also known as SVN), in
Git, every developer's working copy of the code is also a repository that can contain the full history
of all changes.
In addition to being distributed, Git has been designed with performance, security and flexibility in
mind.

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

2.2 Existing Solutions


There are many different web based ordering systems. Those systems do not offer all the
functionality that is needed for a pizzeria. Ordering systems usually allow people to add products
and separate them in different categories and subcategories. Pizzeria sells pizzas, and most of them
also offer clients to customize their own pizzas by picking their own ingredients. At the same time
they offer other products that do not need customization like the side orders. That does not fit into
the general category-subcategory differentiation.

2.3 Our solution


Our solution is to make an ordering system that separates ordering pizzas from ordering the
side dishes (non-pizza products) in an intuitive way. The ordering system provides the user with
three tabs: one for customizing pizzas, one for side orders, and one for delivery details. Customers
can switch to any tab any time. Hence the system will decrease workload of the employees and
benefit the pizzeria due to the database / information system. Information will be stored in the
system and can be viewed at any time. The system will be able to guide a user through the website
and make then complete their pizza order. When they are done with filling in all information
regarding their order they can complete the order to send it to the pizzeria.

2.4 Technical constraints


The constraints of this case are the network connectivity which is required and a website
located on the internet. Customers will have to be able to customize their pizzas. However there is
a limit to the customization of the pizza, technical constraints, functions of the database and user
interface. The system should make use of open-source software, since the pizzeria does not want
an expensive system.

2.5 Use Cases


Three main use cases are identified: ordering, order processing and administration. The
following paragraphs describe each use case in more detail.

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.2 Order processing


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. They need to state which products are
ordered and which ingredients are chosen for the custom pizzas. The kitchen employees have to
look at the order and decide if they can prepare the order or not. When the decision is made, the
order status will change and the customer will be notified. After preparing the order the order
status will be updated and the delivery employees will take over. They will look up the name and
address, and deliver the order. The customer will also be notified when the order is prepared and
ready to be delivered. When delivery has been completed or failed, the order status will be
changed once more.

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

3.1 Problem Formulation


You must have ordered your pizzas by 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 that 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 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.

3.3 System specification


3.3.1 Functionality specification
The functionality specification is closely related to the use cases. The three main functions are
ordering, order processing and administration. A description of each of the functionality will follow.
It includes the output of the system and the input it expects from the users.

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.

3.3.2 Technical specification


The system is made up of three layers. At the top there is the GUI (Graphical User Interface)
layer, the middle layer is the storage and query manager, the bottom layer is the underlying
database.

3.3.2.1 GUI layer


The GUI layer allows users to access the system. All the functionalities of the system must be
available through the GUI. There are two separate GUI’s. One is for the customers to create orders
and one is for employees for processing orders and administration purposes. With scripts, user input
will be used to invoke queries from the storage and query manager layer to provide the user with
various pages. The GUI should prevent input errors and in case of errors that could not be
prevented, provide clear error messages. Nowadays people have usernames and passwords for a lot
of websites and services. It is not practical to have users to remember information for a pizzeria. It
is much easier for customers to type in their name and address than to have to remember the
username and password. Therefore, customers do not have accounts to log on to. However customer
information will be stored into the system to allow employees view previous orders by customers.
The GUI for employees is on a separate URL. Users need a username and a password to gain access
to the system. The administrator has access to add users to the system to give them access.
3.3.2.2 Storage and query manager layer
The storage and query manager layer is responsible for information storage, retrieval,
authorizations and error checking. This layer allows selecting, adding, updating, deleting entities
and relations in the database by using different queries. Some instructions are limited to users with
authorization, such as deleting data from the database which should only be allowed by the
administrator.
3.3.2.3 Database layer
The database layer contains all the data of entities and their relationships.

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.

3.4.2 Functional requirements


3.4.2.1 Customers
3.4.2.1.1 The user must be able to create a new order.
3.4.2.1.2 The user must be able to customize a pizza by:
3.4.2.1.2.1 The user must be able to view a list of available ingredients.
3.4.2.1.2.2 The user must be able to add an ingredient to a custom pizza
3.4.2.1.2.3 The user must be able to remove an ingredient from a custom pizza
3.4.2.1.2.4 The user must be able to get graphical feedback from selecting ingredients. A
photo of a pizza will contain the newly selected ingredient combined with previous
selected ingredients.
3.4.2.1.3 The user must be able to add a custom pizza to an order.
3.4.2.1.4 The user must be able to view a list of available non-pizza products.
3.4.2.1.5 The user must be able to add non-pizza products to an order.
3.4.2.1.6 The user must be able to see a list of custom pizzas and non-pizza products that are added
to the order.
3.4.2.1.7 The user must be able to change the amount of a custom pizza.
3.4.2.1.8 The user must be able to change the amount of a non-pizza product.

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.

3.4.3 Non-Functional requirements


As an operational requirement, the system will run as a database with a website as user
interface. As performance requirement the system must be accessible 24 hours a day, seven days a
week. Due to the nature of the system as an ordering website, the system must have a low response
time, preferably shorter than second, with a maximum of five seconds. The exception is viewing

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

4.1 Software Development Lifecycle Model


4.1.1 Waterfall Model
The waterfall model was selected as the SDLC model due to the following reasons:

 Requirements were very well documented, clear and fixed.


 Technology was adequately understood.
 Simple and easy to understand and use.
 There were no ambiguous requirements.
 Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a
review process.
 Clearly defined stages.
 Well understood milestones. Easy to arrange tasks.

Figure 4.1: Steps of Waterfall Model

15
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

4.2 Modules of the Project


The website comprises of 2 major modules with their sub modules as follows:
 Admin
o Add Pizza: Add different types of pizza’s available.
o View/Edit/Delete: Owner can view/edit/delete the added pizza from the
database.
o View/Update order: Owner can view all the orders received from the customer
and change the order details accordingly.
o View Sales: Admin can view the sales details comprising of total number of
sales and details of each sale.
o View Queries: Owner can view the queries raised by the user.

 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

Table 4.1 : Project Planning and Workload Distribution

17
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

4.3.1 Technical Approach


During the process of selecting the tools and methods to be used during the process, we took
a look at our current expertise and the requirements of the project. As a programming paradigm,
ASP.NET would have been the best choice at first, but the fact that this is not an open source
environment, forced us to start looking for a different approach. Because the database was going to
be a SQLite driven database, Python’s Django showed to be the right choice. Django has an
excellent integration with SQLite. Because Django is an open source system, there are a huge
amount of hosts available. For managing the Sqlite database, Django’s Object-Relational Mapper
(ORM) was used. This was the logical choice because it is free, and it integrates so well. Creating
the code, the program Macromedia Dreamweaver was used. This is a multipurpose xhtml editor,
supporting a lot of different syntax languages. We used this program because we already had
experience using it. The system is divided into two main parts. The smaller administration area,
and the larger customer area. Both parts have their own folders, for example: localhost/pizza is the
folder containing the customer site, and localhost/pizza/admin is the folder containing the admin
page. Both parts have been designed around the index.html page. This page is dynamically being
changed based on values in the POST and the html Query String. Different types of pages are
being included when needed. We divide the include pages by, library pages and include pages.
Library pages are pages which only execute code, but do not write html code. Include pages
execute code and write html. Finally, some of our limited graphic design has been done using
Macromedia Fireworks. This because we already had good experience using this tool combined
with Macromedia Dreamweaver.

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

4.5 System Model

Figure 4.2 : System Model

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.

4.5.1 The Web Ordering System


Users of the web ordering system, namely restaurant customers, must be provided the
following functionality:
 Create an account.
 Manage their account.
 Log in to the system.
 Navigate the restaurant’s menu.

19
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

 Select an item from the menu.


 Customize options for a selected item.
 Add an item to their current order.
 Review their current order.
 Remove an item/remove all items from their current order.
 Provide delivery and payment details.
 Place an order.
 Receive confirmation in the form of an order number.

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.

4.5.2 Menu Management System


The menu management system will be available only to restaurant employees and will, as
the name suggests, allow them to manage the menu that is displayed to users of the web ordering
system. The functions afforded by the menu management system provide user with the ability to,
using a graphical interface:

20
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

 Add a new/update/delete vendor to/from the menu.


 Add a new/update/delete food category to/from the menu.
 Add a new/update/delete food item to/from the menu.
 Add a new/update/delete option for a given food item.
 Update price for a given food item.
 Update default options for a given food item.
 Update additional information (description, photo, etc.) for a given food item.

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.

4.5.3 Order Retrieval System


Of the three components, the order retrieval system is functionally the simplest. Like the
menu management system, it is designed to be used only by restaurant employees, and provides the
following functions:
 Retrieve new orders from the database.
 Display the orders in an easily readable, graphical way.
 Mark an order as having been processed and remove it from the list of active orders.

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

4.6.2 Activity Diagram (Data Flow Diagram)


This section lists the activity diagram and describes the flow of the activities in the system. A
detailed description is then given after the figure for each activity. Figure # 3 provides the overview
of the activity of the Online Food Order System application.

22
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

Figure 4.3 : Data Flow Diagram

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.

4.7 Database Schema

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.

 Pizza_name:- Name of the particular variant

 Description:- Stores the description of the pizza, like, items used to make the pizza, etc.

 Price:- price of the pizza

 Size:- size of the pizza (14”, 16”, 18”)

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.

 Temp_id:- Primary key

 Name:- name of the item selected

 Desc:- description of the flavours and add-ons selected

 Quantity:- represents the ordered quantity

 Price:- Price of single item after applying all the add-ons and extra charges.

 Amount:- Total amount to be paid. Amount = quantity * price

 O_id:- Foreign Key. References to the person_uuid table.

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.

 uuid:- Unique id corresponding to the user.

 Finalised:- Boolean value representing the state of cart.

4.7.4 Final Order

This table stores the details of the user that are required to contact him and deliver the pizza at
required address.

 O_id:- Foreign Key. References the person_uuid table.


 Buyer_name:- Name of the user.
 Phone_no
 Email
 location:- address where the pizza is to be delivered.
 Total_bill:- Total amount payable by the user.

25
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

4.8 Entity Relation Diagram (E-R diagram)

Figure 4.4: E-R Diagram

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

4.9 Function Implementation Queries


This paragraph contains a table which list all the needed functions with steps that the scripts
needs to take and what DB steps are required. Another table contains the actual DB queries.

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

Table 4.2: DB Queries and Descrption

33
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

Admin Queries

Table 4.3: Admin Queries

34
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

Customer Queries

Table 4.4: Customer Queries

35
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

Chapter-5
TESTING TEMPLATES

5.1 Ingredients Management


5.1.1 Add Ingredient

5.1.2 Delete Ingredients

5.1.3 Modify Ingredients

36
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

5.2 Non-Pizza Management


5.2.1 View Non-Pizza Product

5.2.2 Add Non-Pizza Product

5.2.3 Modify Non-Pizza Product

37
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

5.3 Order Management


5.3.1 View Order

5.4 Removal Management


5.4.1 Delete Pizza

5.4.2 Delete Non-Pizza

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

Figure 6.1: Home Page

6.1.2 Services

Figure 6.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

Figure 6.3: Contact us

6.1.4 Menu

Figure 6.4: Menu

40
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

6.1.5 Cart

Figure 6.5: Cart

6.1.6 Checkout

Figure 6.6: Checkout

41
Downloaded by Rc King ([email protected])
Chandigarh Engineering College Jhanjeri
Mohali-140307
Department of Computer Science & Engineering

6.1.7 Order Notification

Figure 6.8: Order Notification

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

6.2.2Advantages or Benefits ofPython


The Python language has diversified application in the software development companies such
as in gaming, web frameworks and applications, language development, prototyping, graphic design
applications, etc. This provides the language a higher plethora over other programming languages
used in the industry. Some of its advantages are-Extensive Support Libraries-It provides large
standard libraries that include the areas like string operations, Internet, web service tools,
operating system interfaces and protocols. Most of the highly used programming tasks are
already scripted into it that limits the length of the codes to be written in Python.Integration Feature
Python integrates the Enterprise Application Integration that makes it easy to develop Web
services by invoking COM or COBRA components. It has powerful control capabilities as it calls
directly through C, C++ or Java via Jython. Python also processes XML and other markup
languages as it can run on all modern operating systems through same byte code. Improved
Programmer’s ProductivityThelanguagehasextensivesupportlibrariesandcleanobject-
orienteddesignsthatincreasetwoto ten fold of programmer’s productivity while using the languages
like Java, VB, Perl, C, C++ and C#.Productivity With its strong process integration features, unit
testing framework and enhanced control capabilities contribute towards the increased speed
for most applications and productivity of applications. It is a great option for building scalable
multi-protocol network applications. Python is a robust programming language and provides an
easy usage of the code lines, maintenance can be handled in a great way, and debugging can be
done easily too. It has gained importance across the globe as computer giant Google has made it one
of its official programming languages.

6.2.3 Sqlite Database


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
publicdomain and is thus free for use for any purpose, commercial or private. SQLite is the
mostwidely deployed database in the world with more applications than we can count,
including several high-profileprojects.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

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.

7.2 Future Scope


As mentioned in the system model, at the heart of the entire ordering system is the database. In
fact, the system could be completely operational using nothing but the database and an appropriate
shell utility, assuming that all users are well-versed in SQL and enjoy using it to order food. While
this would be a bit extreme, it does illustrate the point that the one part of the system which will
stay relatively constant is the database. On the other hand, it is very probable that the other

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])

You might also like