Interactive Restaurant Website Project
Interactive Restaurant Website Project
PROJECT REPORT
ON
Date:
Place:
I am also great full to my HOD Prof. Deepali Shilvant for extending her
help directly and indirectly through various channels in my project work.
INDEX
Sr. No Contents Page No
1 Introduction
Objectives
Problem Statement
Scope
2 System Analysis
Existing System
Proposed System
Hardware Requirements
Software Requirements
Justification of selection of technology
3 System Design
E-R Diagram
UML Diagrams
1.3) SCOPE
The following table shows the scope of the project:
● MODULES:
1. Module 1: Login Module In login module the customer and restaurants login will be taken
while they already registered on the application. Every manager/user will have login id and
password to login to the application.
2. Module 2: Registration Module This module is displayed to the visitors if they need to
perform some order placements, and new registration for restaurants who wants to do
business with us on our online restaurant management application.
3. Module 3: Add/Update/remove Menu This module is for admin. Admin have rights to insert,
update (modify) and delete the data in database as per his/her necessary requirements.
4. Module 4: Account Management Module There will be an account manager who will
manage all the online order transaction and he/she will be responsible for issuing printed
copy of customers payment receipts.
5. Module 5: Station Tracking Module This module describes the current location of any
particular area over the usage of internet connectivity and GPS. This module is useful to find
the location of order placed and for estimated time delivery.
6. Module 6: Place Order Module The activity is performed by customer itself whose
registration is already done. Once the verification is done by application, the order gets
confirmed and delivery will be given to the dedicated customers address.
7. Module 7: Carting Module This is additional feature given to add the food items in
customer’s virtual basket just like pending orders or the orders which customer wants to do
later. But, if the customer is first time visiting then he/she will unable to place order until
he/she do registration to our application.
8. Module 8: Order Manage Module In case, the customer come to know that the food or
service of restaurant is not good and estimated delivery time is too much as expected then
he/she can manage his/her orders under order manage module.
9. Module 9: Messaging Module The private window for conversation between customer and
customer executives will be given inside the application where they can ask about any kind
of queries to the executives 24/7.
10. Module 10: Logout Module The last module describes that after placing order or performing
some actions on the application the customer will click logout profile.
2.3)Working
Our main aim is to increase the efficiency of the food ordering and reduce human errors and provide
high quality services to the customers of the restaurants. The application on the tablets must be able
to communicate with the other devices. Fig.1 shows flow chart of the android application. As shown
in flowchart below, firstly the customer or visitor will open the application and searches for food
item menus from nearby available location of customer. The customer sees the categorized menu
card on the android app. The selection of food items is done by person if he/she visiting our
application with or without login and registration module. At this stage, the registered and non-
registered persons can add food items in their shopping kart for temporary purpose. If the customer
wants to buy selected items then condition will be checked weather customer login is done or not. If
login is not done then application will force customer to login first before ordering something.
For performing all activities in project we will create one database consists of all restaurants listed
along with their daily food items and costs. Once completing login task, the customer will place
order from his nearest searched local restaurants searched via server. After this the verification of
customer order will be done by making call given by customer at the time of login registration. After
successful verification admin will check is the order is confirmed by customer if not the whole
process begins from start.
2.4) ADVANTAGES
1. No misunderstandings and no frustrations.
CSS3 -
CSS3 stands for Cascading Style Sheets. It is used for the designing of a webpage. CSS is the
standard and preferred mechanism for formatting HTML pages. CSS consist of a group of
formatting rules that you use to control the layout and appearance of the content on a web page.
One of the really great feature of CSS is that you can store all the CSS rules in one
document and keep that document separate from the HTML content and link them together.
JavaScript -
JavaScript (JS) is a scripting languages, primarily used on the Web. It is used to enhance
HTML pages and is commonly found embedded in HTML code. JavaScript is an interpreted
language.
Thus, it doesn't need to be compiled. Although it shares many of the features and
structures of the full Java language, it was developed independently. It was originally developed by
Netscape as a means to add dynamic and interactive elements to websites.
JavaScript is a client-side scripting language, which means the source code is processed by
the client's web browser rather than on the web server. This means JavaScript functions can run
after a web page has loaded without communicating with the server.
PHP -
PHP Stands for "Hypertext Preprocessor." PHP is an HTML-embedded Web scripting
language. This means PHP code can be inserted into the HTML of a Web page. A lot of syntax of
PHP is borrowed from other languages such as C, Java and Perl. However, PHP has many aunique
features and specific functions as well.
When a PHP page is accessed, the PHP code is read or "parsed" by the server the page
resides on. The output from the PHP functions on the page are typically returned as HTML code,
which can be read by the browser. Because the PHP code is transformed into HTML before the
page is loaded, users cannot view the PHP code on a page. This make PHP pages secure enough to
access databases and other secure information.
MySQL –
MySQL, pronounced either "My S-Q-L" or "My Sequel," is an open source relational
database management system. It is based on the structure query language (SQL), which is used for
adding, removing, and modifying information in the database. Standard SQL commands, such as
ADD, DROP, INSERT, and UPDATE can be used with MySQL.
These pages are often referred to as "dynamic," meaning the content of each page is
generated from a database as the page loads. Websites that use dynamic Web pages are often
referred to as database-driven websites.
jQuery –
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much simpler with an
easy-to-use API that works across a multitude of browsers. With a combination of versatility and
extensibility, jQuery has changed the way that millions of people write JavaScript.
jQuery's syntax is designed to make it easier to navigate a document, select DOM
elements, create animations, handle events, and develop Ajax applications. jQuery also
provides capabilities for developers to create plug-ins on top of the JavaScript library. This
enables developers to create abstractions for low-level interaction and animation, advanced
effects and high-level, themeable widgets.
AJAX –
AJAX stands for Asynchronous JavaScript and XML. AJAX is a new technique for creating
better, faster, and more interactive web applications with the help of XML, HTML, CSS, and Java
Script.
With AJAX, when you hit submit, JavaScript will make a request to the server, interpret the results,
and update the current screen. In the purest sense, the user would never know that anything was
even transmitted to the server. AJAX is a web browser technology independent of web server
software.
Chapter 3
System Design
3.1) ER DIAGRAMS
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. An
entity in this context is an object, a component of data. An entity set is a collection of similar
entities. These entities can have attributes that define its properties.
An ER diagram is a means of visualizing how the information a system produces is related. There
are five main components of an ERD:
● Actions, which are represented by diamond shapes, show how two entities share
● Connecting lines, solid lines that connect attributes to show the relationships of entities in
the diagram.
● Cardinality specifies how many instances of an entity relate to one instance of another
entity. Ordinality is also closely linked to cardinality. While cardinality specifies the
occurrences of a relationship, ordinality describes the relationship as either mandatory or
optional. In other words, cardinality specifies the maximum number of relationships and
ordinality specifies the absolute minimum number of relationships.
E-R Diagram :
A UML use case diagram is the primary form of system/software requirements for a new
software program under developed. Use cases specify the expected behavior (what), and not the
exact method of making it happen (how). Use cases once specified can be denoted both textual
and visual representation (such as UML). A key concept of use case modeling is that it helps us
design a system from end user's perspective. It is an effective technique for communicating system
behavior in the user's terms by specifying all externally visible system behavior.
A use case diagram is usually simple. It does not show the detail of the use cases:
● It only summarizes some of the relationships between use cases, actors, and systems.
● It does not show the order in which steps are performed to achieve the goals of each use
case.
As said, a use case diagram should be simple and contains only a few shapes. If yours contain
more than 20 use cases, you are probably misusing use case diagram.
Use case diagrams are typically develop in early stage of development and people often apply use
case modeling for the following purposes:
● Usecase diagram:
3.3) Statechart Diagram –
A Statechart diagram describes a state machine. State machine can be defined as a machine
which defines different states of an object and these states are controlled by external or internal
events.
Statechart diagram is one of the five UML diagrams used to model the dynamic nature of a
system. They define different states of an object during its lifetime and these states are changed by
events. Statechart diagrams are useful to model the reactive systems. Reactive systems can be
defined as a system that responds to external or internal events.
Statechart diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is triggered. The
most important purpose of Statechart diagram is to model lifetime of an object from creation to
termination.
Statechart diagrams are also used for forward and reverse engineering of a system.
However, the main purpose is to model the reactive system.
3.4)Activity Diagram –
In between there are ways to depict activities, flows, decisions, guards, merge and time events and
more. Learn about activity diagram symbols below:
Action Flow
Action flows, also called edges and paths, illustrate the transitions from one action state to
another. They are usually drawn with an arrowed line.
Object Flow
Object flow refers to the creation and modification of objects by activities. An object flow
arrow from an action to an object means that the action creates or influences the object. An object
flow arrow from an object to an action indicates that the action state uses the object.
3.5)Sequence Diagram –
Sequence Diagrams are interaction diagrams that detail how operations are carried out.
They capture the interaction between objects in the context of a collaboration. Sequence Diagrams
are time focus and they show the order of the interaction visually by using the vertical axis of the
diagram to represent time what messages are sent and when.
Sequence Diagrams captures the interaction that takes place in a collaboration that either realizes
a use case or an operation and high-level interactions between user of the system and the system,
between the system and other systems, or between subsystems.
● Model the interaction between object instances within a collaboration that realizes a use
case
● Model the interaction between objects within a collaboration that realizes an operation
● Either model generic interactions (showing all possible paths through the interaction) or
specific instances of a interaction (showing just one path through the interaction)
● Sequence Diagram :
Chapter 4
Implementation &
Testing
4.1) TESTING APPROACH
Testing -
The software engineering process can be viewed as a spiral. Initially system engineering defines the
role of software and leads to software requirement analysis where the information domain,
functions, behavior, performance, constraints and validation criteria for software are established.
Moving inward along the spiral, we come to design and finally to coding. To develop computer
software we spiral in along streamlines that decrease the level of abstraction on each turn.
Testing progress by moving outward along the spiral to integration testing, where the focus is on
the design and the construction of the software architecture. Talking another turn on outward on
the spiral we encounter validation testing where requirements established as part of software
requirements analysis are validated against the software that has been constructed. Finally we
arrive at system testing, where the software and other system elements are tested as a whole.
UNIT TESTING
MODULE TESTING
Component Testing
SUB-SYSTEM TESING
ACCEPTANCE TESTING
User Testing
Unit Testing -
The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly as
you expect. Each unit is tested separately before integrating them into modules to test the
interfaces between modules. Unit testing has proven its value in that a large percentage of defects
are identified during its use.
Unit testing is a software verification and validation method where the programmer gains
confidence that individual units of source code are fit for use. A unit is the smallest testable part of
an application. In procedural programming a unit may be an individual program, function,
procedure, etc., while in object- oriented programming, the smallest unit is a class, which may
belong to a base/super class, abstract class or derived/child class.
Integration Testing -
Integration testing, also known as integration and testing (I&T), is a software development
process which program units are combined and tested as groups in multiple ways. Integration
testing is a component of Extreme Programming (XP), a pragmatic method of software
development that takes a meticulous approach to building a product by means of continual testing
and revision.
There are two major ways of carrying out an integration test, called the bottom-up method
and the top-down method. Bottom-up integration testing begins with unit testing, followed by
tests of progressively higher-level combinations of units called modules or builds. In a
comprehensive software development environment, bottom-up testing is usually done first,
followed by top-down testing.
Validation testing -
At the validation level, testing focuses on user visible actions and user recognizable output
from the system. Validations testing is said to be successful when software functions in a manner
that can be reasonably expected by the customer. Two types of validation testing.
● Beta testing comes after alpha testing. Versions of the software, known as beta version,
are released to a limited audience outside of the programming team. The software is
released to groups of people so that further testing can ensure the product has few faults
or bugs. Sometimes, beta versions are made available to the open public to increase the
feedback field to a maximal number of future users.
● Gray box testing Grey box testing is the combination of black box and white box testing.
Intention of this testing is to find out defects related to bad design or bad implementation
OUTPUT SCREEN
Chapter 6
Future Enhancement
Future Enhancement:
This order food online system project aimed at developing an
online food ordering system which can be used in small places,
and medium cities firstly and then on a large scale.
It is developed to help restaurants to simplify their daily
operational and managerial task as well as improve the dining
experience of customers.
And also helps restaurants develop healthy customer
relationships by providing good services. The system enables
staff to let update and make changes to their food and
beverage list information based on the orders placed and the
orders completed.
Chapter 7
References
REFERENCES
● www.wikipedia.com
● www.w3school.com
● www.tutorailpoint.com
● www.materializecss.com
● www.developers.google.co
m