You are on page 1of 25

BN COLLEGE OF ENGINEERING & TECHNOLOGY, BKT,

LUCKNOW.

2012-13
Mini Project Using Web
Technology 1
Restaurant Order Placement Automation
Shashank Pandey & Tushar Pande

Introduction & Objectives of
Project


Working Methodology:
Previous (manual) working:
The customers are supposed to book their orders either over a
telephone or manually, by visiting the restaurant.
The employee asks the customer for his requirements, and checks if the
request made by the customer can be fulfilled. If it could be fulfilled, the
employee proceeds, else tells them wait for some time.
The employee, then takes the order, and makes an entry into his ledger
book, as per the customers request, whether a table is to be booked, or
the home delivery is to be made.
The employee then forwards this order to the chefs & waiters so that
they could process the order.
When the order is processed, the employee checks his ledger book and
checks whose order was that. The employee then forwards the
processed order to the customer.
In case of a home delivery, the employee is supposed to inform the
delivery boys to deliver the order to the customers address.
The delivery boy makes a delivery and takes a confirmation of the order
fulfillment.

Proposed (automated/online) Method:
End-Users viewpoint:
User can logon to the web site; create an account for his/her use for
the purpose of placing orders and performing other tasks.
The user can view available tables and times at which they are
available or free.
The user can then easily place an order to book the table using the
online service or make an order for placing an order for home
delivery.
(Optional) When the user has placed the order at his home/office
he/she could easily track its dispatch.
(Optional) After receiving the order, the user can confirm the order-
receiving.
Owners/Employees viewpoint:
The owner/employees do not have to bother about taking orders
from each and every table.
The owner need not keep any data physically, as all the data would
be on the website and accessible to them.
The owner can easily track the sales and profits as well as daily sales
using the automated procedure.

Project Category

The project belongs to the category of Web-Based Applications, which are
used to automate the order-placement methodology in restaurants/caf.

A web application is an application that is accessed by users over a network
such as the Internet or an intranet. The term may also mean a computer
software application that is coded in a browser-supported programming
language (such as JavaScript, combined with a browser-rendered mark-up
language like HTML) and reliant on a common web browser to render the
application executable, and uses some specific techniques such as CSS for
styling it.

Tools, Platform & H/W-S/W
Requirements
Software Requirements:
Minimum Requirements:
OS Windows 98
Mac OS 9.0
Red Hat Linux 4.0
Web Browser
Internet Explorer 6.0
Mozilla Firefox 13.0
Google Chrome 15.0

Recommended
OS
Windows XP/Vista/7 (Recommended)
Mac OS 9.2.2 (Recommended)
Red Hat Linux 6.3/5.8
Web Browser
Internet Explorer 8 (Recommended)
Mozilla Firefox 17.1
Google Chrome 23.0

Hardware Requirements:
The hardware requirements should be same as for running/supporting
the above mentioned applications/OS.

Tools/IDEs Used:

Adobe Dreamweaver CS6
Apache Tomcat 6.0.35 Server

Technologies Used:

Front End:
HTML
CSS
JavaScript
jQuery
Back End:
Oracle Database ver. 10g
JSP

Front End:

HTML:
HyperText Mark-up Language (HTML) is the main mark-up language for
displaying web pages and other information that can be displayed in a
web browser.
HTML is written in the form of HTML elements consisting of tags
enclosed in angle brackets (like <html>), within the web page content.
HTML tags most commonly come in pairs like <h1> and </h1>, although
some tags, known as empty elements, are unpaired, for example <img>.
The first tag in a pair is the start tag, the second tag is the end tag (they
are also called opening tags and closing tags). In between these tags web
designers can add text, tags, comments and other types of text-based
content.
The purpose of a web browser is to read HTML documents and compose
them into visible or audible web pages. The browser does not display
the HTML tags, but uses the tags to interpret the content of the page.
HTML elements form the building blocks of all websites. HTML allows
images and objects to be embedded and can be used to create
interactive forms. It provides a means to create structured documents
by denoting structural semantics for text such as headings, paragraphs,
lists, links, quotes and other items. It can embed scripts in languages
such as JavaScript which affect the behaviour of HTML web-pages.
Web browsers can also refer to Cascading Style Sheets (CSS) to define
the appearance and layout of text and other material. The W3C,
maintainer of both the HTML and the CSS standards, encourages the use
of CSS over explicit presentational HTML mark-up.
JavaScript:
JavaScript is a client side-scripting language commonly implemented as
part of a web browser in order to create enhanced user interfaces and
dynamic websites.
JavaScript is a prototype-based scripting language that is dynamic,
weakly typed and has first-class functions. It uses syntax influenced by
the language C. JavaScript copies many names and naming conventions
from Java, but the two languages are otherwise unrelated and have very
different semantics. The key design principles within JavaScript are taken
from the Self and Scheme programming languages. It is a multi-
paradigm language, supporting object-oriented, imperative, and
functional programming styles.
JavaScript's use in applications outside web pages for example in PDF
documents, site-specific browsers, and desktop widgetsis also
significant. Newer and faster JavaScript VMs and frameworks built upon
them (notably Node.js) have also increased the popularity of JavaScript
for server-side web applications.
JavaScript was formalized in the ECMAScript language standard and is
primarily used in the form of client-side JavaScript (as part of a web
browser). This enables programmatic access to computational objects
within a host environment.

CSS:

Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation semantics (the look and formatting) of a document
written in a mark-up language. Its most common application is to style
web pages written in HTML and XHTML, but the language can also be
applied to any kind of XML document, including plain XML, SVG and XUL.
CSS is designed primarily to enable the separation of document content
(written in HTML or a similar mark-up language) from document
presentation, including elements such as the layout, colors, and fonts.[1]
This separation can improve content accessibility, provide more
flexibility and control in the specification of presentation characteristics,
enable multiple pages to share formatting, and reduce complexity and
repetition in the structural content (such as by allowing for table-less
web design). CSS can also allow the same mark-up page to be presented
in different styles for different rendering methods, such as on-screen, in
print, by voice (when read out by a speech-based browser or screen
reader) and on Braille-based, tactile devices. It can also be used to allow
the web page to display differently depending on the screen size or
device on which it is being viewed. While the author of a document
typically links that document to a CSS style sheet, readers can use a
different style sheet, perhaps one on their own computer, to override
the one the author has specified.
CSS specifies a priority scheme to determine which style rules apply if
more than one rule matches against a particular element. In this so-
called cascade, priorities or weights are calculated and assigned to rules,
so that the results are predictable.

Back End:
JSP:
JavaServer Pages (JSP) is a technology that helps software developers
create dynamically generated web pages based on HTML, XML, or other
document types. Released in 1999 by Sun Microsystems,[1] JSP is similar
to PHP, but it uses the Java programming language.
To deploy and run JavaServer Pages, a compatible web server with a
servlet container, such as Apache Tomcat or Jetty, is required.
Architecturally, JSP may be viewed as a high-level abstraction of Java
servlets. JSPs are translated into servlets at runtime; each JSP's servlet is
cached and re-used until the original JSP is modified.[2]
JSP can be used independently or as the view component of a server-
side modelviewcontroller design, normally with JavaBeans as the
model and Java servlets (or a framework such as Apache Struts) as the
controller. This is a type of Model 2 architecture.[3]
JSP allows Java code and certain pre-defined actions to be interleaved
with static web mark-up content, with the resulting page being compiled
and executed on the server to deliver a document. The compiled pages,
as well as any dependent Java libraries, use Java byte-code rather than a
native software format. Like any other Java program, they must be
executed within a Java virtual machine (JVM) that integrates with the
server's host operating system to provide an abstract platform-neutral
environment.
Oracle Database:
The Oracle Database (commonly referred to as Oracle RDBMS or simply
as Oracle) is an object-relational database management system
(ORDBMS) produced and marketed by Oracle Corporation.
Larry Ellison and his friends, former co-workers Bob Miner and Ed Oates,
started the consultancy Software Development Laboratories (SDL) in
1977. SDL developed the original version of the Oracle software. The
name Oracle comes from the code-name of a CIA-funded project Ellison
had worked on while previously employed by Ampex.
Problem Definition &
Requirement Specification
User requirements:
The requirements of the projects are web-based software that would help the
customers as well as the owners to keep a track of the orders placed and
served. In addition to it, a customer can do the following things:
See and book tables, if available.
Place orders.
See the total outstanding charges/costs of orders.
Get home delivery (optional).

The owner and/or the administrators are able to do these:
View orders.
View available tables.
Serve orders according to tables.
Track served orders.
Keep inventory of the sales.

Planning & Schedule

Analysis & Design

DFDs level 0, level 1 & level 2

ER Diagrams

Class Diagrams

Database & Table Details with Foreign Keys, Private
Keys, Candidate Keys etc.


Table: user_record
Attribute Data type Description
Username varchar Stores the username,
used for login.
Password varchar Stores the password for
login.
First_name varchar Store the first name of
the user.
Last_name varchar Stores the last name of
the user.
User_type varchar Administrator, customer,
delivery in-charge
User_id
(Primary key)
number Defines the customer ID
of each type of
individual user.
DOB date Takes the users date of
birth.
Address varchar Holds the users address,
in case of home delivery
*(optional)


Table: order_record
Attribute Data type Description
Order_id
(Primary key)
number Creates a new order ID
for every new order.
User_id
(Foreign key)
number References to table
user_record for user ID
Amount number The total outstanding
amount payable by the
user.
Date_of_transaction date Stores the date of the
order when it was
placed/processed
Home_delivery yes/no Verifies if a user has
asked for home delivery
or not.


Table: item_order_user
Attribute Data type Description
Item_id number Gets the item ID of each
item.
Quantity number Keeps the quantity of
the.
Order_id
(Foreign key)
number Stores the order ID to
track whose order was
it.
Price number Stores the price of the
each particular item
Amount number Total outstanding
amount payable by the
customer.
Date_of_transaction
(Foreign key)
date Stores the date of the
order when it was
placed/processed


Table: delivery_record
Attribute Data type Description
Delivery_id
(Primary key)
number Tells the user & delivery
in-charge about the
delivery ID
Order_id
(Foreign key)
number Stores the order ID to
track whose order was
it.
Address
(Foreign key)
varchar Holds the users address,
in case of home delivery.
Dispatched yes/no Check if the package was
dispatched from the in-
charge.
Received yes/no Check if the package was
received by the
customer.
Amount
(Foreign key)
number Total outstanding
amount payable by the
customer, or to be
collected.


Process Logics

Security Mechanisms & Measures at Various Levels

Future Scope of Project

Snapshots/Coding (optional)
Snapshot-1

Snapshot-2

You might also like