Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
30 views35 pages

Project Report For Restaurant Reservation Group

The document provides details about a project report on developing a restaurant reservation system. It includes sections on introduction, objectives, problems with existing systems, advantages, requirements, software details, data storage, system design, implementation methodology, scope and future scope.
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)
30 views35 pages

Project Report For Restaurant Reservation Group

The document provides details about a project report on developing a restaurant reservation system. It includes sections on introduction, objectives, problems with existing systems, advantages, requirements, software details, data storage, system design, implementation methodology, scope and future scope.
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/ 35

PROJECT REPORT

on

“Restaurant Reservation System”

B. Tech IIInd Year

(Branch - CSE)

Submitted To: Submitted By:

Ms. Stuti Saxena Apoorv Maity

(Assistant Professor) Deepak Kumar

Ojasav Kumar

1
ACKNOWLEDGEMENT

This Project report was completed as a result of support from many people, although not all
of them can be mentioned.

I wish to express our sincere gratitude to God for his protection, providence, guidance and
above all, for sustaining us.

We are greatly indebted to our good supervisor Ms. Stuti Saxena for her useful and
necessary observation, suggestions, contribution and corrections. I would not have been able
to achieve anything in this research without your supervision.

Finally, we wish to express our appreciation to our parents for their love and support.

Apoorv Maity

Deepak Kumar

Ojasav Kumar

2
INDEX

S. No. Topic Page No.


1. Acknowledgement 2

2. Index 3

3. Introduction 4

4. Objectives 6

5. Problems with Existing system 7

6. Advantages 8

7. Requirements 9

8. About Softwares 10

9. Data Storage 11

10. System Design 13

11. Normalization 14

12. Implementation Methodology 18

13. Scope of the System 19

14. System Implementation 21

15. Working of system 22

16. Output 24

17. Future Scope 33

18. Conclusion 34

19. References 35

3
INTRODUCTION

Table reservation is one of the main functionalities of a restaurant, serving not only
customers with their culinary talent but also with their service. But one of the problems they
face would be parking allocation for their customers. Due to other parameters which wouldn’t
be resolved without human intervention, the solution we came up with was to allocate a
parking slot a few minutes before the decided time to the user so that they would not be
prepared for their arrival but also makes them feel content.

The basic feature of our system is the services it offers, ranging from providing contact
information to booking a table with a pre-ordered menu at a chosen timeslot. As the regular
reservation system functions like this is different from the normal one. We pick a table, we
get in the restaurant, we order food, we wait for it. As we can see, when opposed to the
functionality of our reservation system, this is inefficient as there is a lot of waste of time
going on. Not only have we established a booking slot for a working table, but also have to
order and wait for it.

This project also involves a menu management system that allows restaurant management to
carry out actions on the menu displayed on the websites, thereby helping to maintain a live
menu that is updated. Using past user requests or commonly requested objects, the suggested
framework for improved user experience can be implemented. Based on the ordered menu
details we can change the menu and develop a menu recommendation.

This whole system is implemented as a user interface by developing a web application that
not only features a menu display and updating module such as a standard restaurant website
but also allows the user to pre-request a time slot booking for a table and also a pre-ordered
menu that must be freshly served at the time of arrival. To build a strong customer restaurant
partnership we can also implement Pre-orders for dine-in technology that brings online sales
and makes guests happy. It allows reservation service and they can even cook and serve with
dine-in pre-orders. Selling is done in advance. Guests have neat menus presented to them in

4
the system and it is easy for them to place order requests. It increase table turn-over as
restaurants get busy and lose many customers with a lot of people waiting for their meals.
Factors to blame for service delays would be slow menu ordering, preparation of food and
paper checks. Dine-in pre-orders help to prevent inconvenience and improve table turnover
by skipping booking, food preparation and checkout delays. To address the needs of busy
diners, ordering ahead is created. They're able to just dine in and leave when these guys come
to a restaurant, so there's no over-stay. It can take too much time for busy individuals to have
nourishing meals at restaurants so pre-orders also make them happy as waiting is always
bothersome.

Dine-in pre-orders address the issue of waiting for a seat, eating and taking busy people back
to restaurants. Restaurants may have better dining experiences by understanding the orders of
guests beforehand.

5
OBJECTIVES

Based on the problems stated above, the objectives of the project are-

i. to develop online ordering and reservation system in restaurant.

ii. to develop use interface for online restaurant management system.

iii. to provide online menu information for customer.

6
PROBLEMS WITH EXISTING WORK

In nearly all of the existing restaurant booking systems deals with booking table and ends with
it. This means a user has to deal with parking issues themselves and also wait for food which
costs them a lot of time. Not to mention, this whole process is traditional and can be simplified
with the interference of modern technology.

Proposed Work

Here in our web application, the customer can reserve a table along with ordering the food
which is also called pre-ordering. Here, the customer will not face the problem i.e. the waiting
time will be reduced and the food will be served immediately by the time the customer reaches
the hotel.

Advantages with Proposed Work

The waiting time between the occupancy of the table and food serving is reduced here. It
makes all the data transactions online and stored in the database. There will be work
management and no sort of disturbances occur during the business.

7
ADVANTAGES

i. Converts all the manual work which is time consuming and error prone to fully

automated system.

ii. Helps in eliminating all the paper work, saves time and improves customer services.

iii. Makes the addition of items in the menu, deletion of items and modification of items

in the menu easier and faster.

iv. Reduces pressure on the labour.

v. Makes the system more feasible and flexible and thus retrieval of information

becomes convenient.

8
REQUIREMENTS

HARDWARE SPECIFICATION
PROCESSOR: ARM64 processor or 1.8 GHz or faster x64 processor (quad-core or better).
RAM: 1GB and above.
OPERATING SYSTEM: Windows 8 and above.
HARD DISK SPACE: Minimum 850 MB GB of available space, depending on features
installed; typical installations require 20-50 GB of free space.
SOFTWARES: .NET Framework 4.5 required for VS Code.

SOFTWARE SPECIFICATION

Microsoft Visual Studio


MySQL Command Lite
XAMPP

9
ABOUT SOFTWARE

MICROSOFT VISUAL CODE


Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by
Microsoft with the Electron Framework, for Windows, Linux and macOS. Features include
support for debugging, syntax highlighting, intelligent code completion, snippets, code
refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences,
and install extensions that add additional functionality.

Visual Studio Code is a source-code editor that can be used with a variety of programming
languages, including C#, Java, JavaScript, Go, Node.js, Python, C++, C, Rust and Fortran. It
is based on the Electron framework, which is used to develop Node.js web applications that
run on the Blink layout engine. Visual Studio Code employs the same editor component
(codenamed "Monaco") used in Azure DevOps (formerly called Visual Studio Online and
Visual Studio Team Services).

MySQL
MySQL is an open-source relational database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the
acronym for Structured Query Language. A relational database organizes data into one or more data
tables in which data may be related to each other; these relations help structure the data. SQL is a
language programmers use to create, modify and extract data from the relational database, as well as
control user access to the database. In addition to relational databases and SQL, an RDBMS like
MySQL works with an operating system to implement a relational database in a computer's storage
system, manages users, allows for network access and facilitates testing database integrity and
creation of backups.

XAMPP

XAMPP is a free and open-source cross-platform web server solution stack package
developed by Apache Friends, consisting mainly of the Apache HTTP Server, MariaDB
database, and interpreters for scripts written in the PHP and Perl programming languages.
Since most actual web server deployments use the same components as XAMPP, it makes
transitioning from a local test server to a live server possible.

10
DATA STORAGE

The restaurant management system will be built around the data storage technique therefore
choosing the most appropriate persistent data storage is critical to a successful project and we
can assume a flat file storage approach is inadequate. The two most popular types of
persistent data storage available are relational database management system (RDBMS) and
extensible markup language (XML).

Relational Database Management System (RDBMS)

A relational database management system (RDBMS) is a database managed system based


around a relational model and are the corner stone’s to many software systems including web
based systems.

RDBMS are one of the most popular data storage methods out in the market and offer many
advantages including:

• Fast data extraction using structured query language (SQL).

• Good management of data and security through the management system.

• Good level of data consistency.

• Advanced features including functions and triggers.

• Requirement of a data model to be developed; leading to long term cost effectiveness.

In industry, there are numerous expensive highly functional RDMBSs including Oracle and
SQL Server that are very popular and offer technical support. However, there are also
numerous open-source solutions with many adjudged to be as good or better and are
becoming even more popular with small scale software systems.

11
Extensible Markup Language (XML)

XML is a markup language that was designed to transport and store data and is another
example of a persistent data storage technique. However, it is not a predefined language thus
all tags must be defined and due to its hierarchically data structure all elements must be
promoted or demoted.

XML could be used in two different ways in data storage; storing the XML documents within
a database or having the XML documents as the fundamental unit of storage. In both cases
the XML can be queried using either XPATH or XQUERY which are query languages for
extracting data from XML documents.

Storage Method Chosen

The main difference between XML and RDBMS is that XML is hierarchical and RDBMS is
relational. As restaurant data can be best represented in a hierarchical way one would believe
that XML would be the best approach but it’s not always that straight forward. SQL is an
extremely flexible and robust querying language and for the queries required and the type of
software system begin designed, it was concluded that RDBMS would be the best storage
method.

The next choice was to decide on the type of RDBMS to use. As discussed there are many
open source RDBMSs available for us to choose from and for the main reason of experience,
MySQL was the preferred option.

12
SYSTEM DESIGN

SOFTWARE ENGINEERING PARADIGM APPLIED- (RAD-MODEL)

The two design objectives continuously sought by developers are reliability and maintenance.

RELIABLE SYSTEM

There are two levels of reliability. The first is meeting the right requirements. A careful and
through systems study is needed to satisfy this aspect of reliability. The second level of systems
reliability involves the actual working delivered to the user. At this level, the systems reliability
is interwoven with software engineering and development. There are three approaches to
reliability.

1. Error avoidance: Prevents errors from occurring in software.

2. Error detection and correction: In this approach errors are recognized whenever they are
encountered and correcting the error by effect of error, of the system does not fail.
3. Error tolerance: In this approach errors are recognized whenever they occur, but enables
the system to keep running through degraded perform or by applying values that instruct
the system to continue process.

MAINTENANCE

The key to reducing need for maintenance, while working, if possible, to do essential tasks.

1. More accurately defining user requirement during system development.


2. Assembling better systems documentation.
3. Using more effective methods for designing, processing, login and communicating
information with project team members.
4. Making better use of existing tools and techniques.
5. Managing system engineering process effectively.

13
OUTPUT DESIGN

One of the most important factors of an information system for the user is the output the system
produces. Without the quality of the output, the entire system may appear unnecessary that will
make us avoid using it possibly causing it to fail. Designing the output should process the in
an organized well throughout the manner. The right output must be developed while ensuring
that each output element is designed so that people will find the system easy to use

effectively.

The term output applying to information produced by an information system whether printed
or displayed while designing the output we should identify the specific output that is needed to
information requirements select a method to present the formation and create a document report
or other formats that contains produced by the system.

Types of output

Whether the output is formatted report or a simple listing of the contents of a

file, a computer process will produce the output.

• A Report

• A Document

• A Message

• Retrieval from a data store

• Transmission from a process or system activity

• Directly from an output source

LAYOUT DESIGN

It is an arrangement of items on the output medium. The layouts are building a mock up of the
actual reports or document, as it will appear after the system is in operation. The output layout
has been designated to cover information. The outputs are presented in the appendix.

14
Input design and control

Input specifications describe the manner in which data enter the system for processing. Input
design features will ensure the reliability of the systems and produce results from accurate data,
or thus can be result in the production of erroneous information. The input design also
determines whenever the user can interact efficiently with this system.

Objectives of input design

Input design consists of developing specifications and procedures for data preparation, the steps
necessary to put transaction data into a usable from for processing and data entry, the activity
of data into the computer processing. The five objectives of input design are:

1. Controlling the amount of input

Data preparation and data entry operation depend on people, because labour costs are high, the
cost of preparing and entering data is also high. Reducing data requirement expense. By
reducing input requirement, the speed of entire process from data capturing to processing to
provide results to users.

2. Avoiding delay

The processing delay resulting from data preparation or data entry operations is called
bottlenecks. Avoiding bottlenecks should be one objective of input.

3. Avoiding errors

Through input validation we control the errors in the input data.

4. Avoiding extra steps

The designer should avoid the input design that cause extra steps in processing saving or adding
a single step in large number of transactions saves a lot of processing time or takes more time
to process.

5. Keeping process simple:

If controls are more people may feel difficult in using the systems. The best designed system
fits the people who use it in a way that is comfortable for them.

15
NORMALIZATION

It is a process of converting a relation to a standard form. The process is used to handle the
problems that can arise due to data redundancy i.e. repetition of data in the database, maintain
data integrity as well as handling problems that can arise due to insertion, updation, deletion
anomalies.

Decomposing is the process of splitting relations into multiple relations to eliminate anomalies
and maintain anomalies and maintain data integrity. To do this we use normal forms or rules
for structuring relation. The different types of anomalies are -

Insertion anomaly: Inability to add data to the database due to absence of other data.

Deletion anomaly: Unintended loss of data due to deletion of other data.

Update anomaly: Data inconsistency resulting from data redundancy and partial update

Normal Forms

These are the rules for structuring relations that eliminate anomalies.

First Normal Form:

A relation is said to be in first normal form if the values in the relation are atomic for every
attribute in the relation. By this we mean simply that no attribute value can be a set of values
or, as it is sometimes expressed, a repeating group.

Second Normal Form:

A relation is said to be in second Normal form is it is in first normal form and it should satisfy
any one of the following rules.

1) Primary key is a not a composite primary key

2) No non key attributes are present

16
3) Every non key attribute is fully functionally dependent on full set of primary keys.

Third Normal Form:

A relation is said to be in third normal form if their exits no transitive dependencies.

Transitive Dependency: If two non-key attributes depend on each other as well as on the
primary key then they are said to be transitively dependent.

The above normalization principles were applied to decompose the data in multiple tables
thereby making the data to be maintained in a consistent state.

17
IMPLEMENTATION METHODOLOGY

The user's first interaction with the system is with homepage, which redirects to the login page.
If the user was already a registered one, they can proceed with login with the help of their
credentials. Else, users can register by going to the registration page by clicking on the register
button. The navigation bar on this page contains a live-updated food menu. User can select the
required items and its quantity. Once satisfied with his selection, the table reservation page is
accessed. This page shows the billing details containing food items, their respective cost along
total cost along with the reserved table.

18
SCOPE OF THE SYSTEM

This system consists of three components - target user, target area and project deliverables

1. Target User

The groups of users that had been identified to use the system are customer and the restaurant
administrator.

Customer

This user will register to be a member to use the online system of this Restaurant Reservation
system. If the customer is registered then he/she can login into the website or if the customer
is a new user, then he/she has to register to use the service. The Customer can search for all
the restaurants present in the city and book the restaurant which suits them. After the
selection of the restaurant, they proceed to choose the date and time for reservation of the
table and the number of seats they require. Afterwards they can pre-order items which will be
available to them immediately after they occupy the table.

Restaurant Administrator

The Restaurant Administrator is the person responsible for managing all the Restaurant side of
things. The main work of the restaurant administrator includes setting the number of the tables
and their chairs respectively, setting up the menu of the restaurant, and confirming the orders.

2. Target Area

The target of the system are the customers that are too busy to wait in the line and are willing
to pre-order and book their seats.

19
3. Project Deliverables

Regarding to the module that had been identified, the flow of an activity will be described in
term of customer registration module, customer online ordering and reservation module, waiter
module, feedback module, menu module and generate report module.

• Customer Registration Module

Customer registration module contains customer's information such as customer personal


information and other information related to that customer. Then, all of this information
recorded into database.

• Customer Online Ordering and Reseavation Module

Customer on line ordering and reservation module provides a form that needs to be fulfilling
in term of ordering food and reservation table via online.

• Menu Module

Menu module is food that restaurant prepared for customer. This module, customer can view
the menu and make decision for order.

20
SYSTEM IMPLEMENTATION

The system can be divided into three basic distinctions –

DATABASE
The database is implemented by using MySQL. The database is ‘res_booking.sql’ which
stores all the data in the form of SQL file.

FRONTEND
The Frontend is implemented using PHP, JavaScript and CSS. PHP is used for the frontend
definition; JavaScript is used for animations in the buttons and interactable objects and CSS
is used for the general animation.

BACKEND
Backend is applied by using PHP and is mainly used by the restaurant staff for the
management of the restaurant. The backend is the main backbone as it enables many function
in the frontend of the system.

The implementation of the done by creating a virtual machine in Apache by using XAMPP.
All the coding for PHP, CSS and JavaScript is done in Microsoft Visual Code and the
database was made in MySQL.

21
WORKING OF SYSTEM

The system can be divided into several modules –

Module-1: Login Module & Register Module


This is the first thing the user gets interacted with. Here, there are again two modules - login
and register. If the user has an account, then he can login by giving an email and password in
the respective column. If the login is successful, then the user will be directed to the home
page. Otherwise, if the user tries to login without registering, the login fails and a message is
shown in the "Failed" alert window. If the user is new to the web application, then he can
click on the option to register and register with information such as email, password, phone
number, and current password. If the validation is met by the credentials, the user will be
registered and the user will be directed to the login page. Here, the user should retype the
same email id and password that he gave while registering and then if satisfied, he will be
directed to the home page.

Module-2: Restaurant Search Module

After the user logs in to the website, he/she can search for restaurant that are registered to the
system. The restaurants are categorized according to the city they belong to. The user can
select the city and can choose among the restaurants that are currently registered in the
system.

Module-3: Table Reservation

After the user chooses the restaurant, it is time for the user to choose the table and the number
of chairs that are required by the user.

Module-4: Menu Module

After the user selects the tables and chairs, there is a menu option. Now, the user can click the
menu and then he can get visible with various options of the food items. There are 3
categories in this menu:

1. Fast Food

22
2. Dessert
3. Drinks

Now the user can select based on the user's preference. If the user clicks the options of Fast
Food, then the fast-food dishes will be displayed. If the user clicks on the Deserts, then, all the
deserts will be displayed. Finally, dessert will be displayed on Dessert option.

Module-5: Confirmation Module

After the user has selected all the items, he need he can confirm the order, which will lead to
the confirmation page. It shows the contact information, items ordered and the tables reserved.

Module 6: Restaurant Administrator Module

This is a module for maintenance and back-end that is not accessed by the user but has a great
effect on the experience of the user. Entry to this module is only permitted by restaurant staff
who manages the menu and reservations of the customers. The staff is responsible for updating
the menu and seating arrangement of the restaurant and most importantly the confirmations of
the reservations.

23
OUTPUT

24
25
26
27
28
29
30
31
32
FUTURE SCOPE

Some more features can be added to make this project much more easier to use and also
increase its functionality. A mobile based app can be made to increase the customer base of
the system. Making predictions using data analysis of the restaurant consumption and traffic
to predict the ingredient requirements for the day to day consumption which will decrease the
wastage of ingredients and will help the restaurant to better plan its future schedule.

33
CONCLUSION

As we mentioned before, most restaurant websites offer new services every day but in terms
of time management, most of them are unsuccessful. Although there are a few websites that
have a framework for table reservations, most of them stop there. Only after they enter the
location do users have to order food. Not to mention, the scarcity of parking slots is also a
problem. By implementing a food ordering system along with the option of reserving a table
with relative parking space, our project provides a fundamental working solution for all the
stated problems. This not only addresses the issue statement we were studying on but also
offers a smooth user interface. We also have an admin module to do the required background
work which includes live updating of the hotel menu and control of the table and parking lot
based on the user's requests. This makes it a lot simpler and comfortable for the user experience.
By implementing a mobile application for personalized and hand-held experience, further
advancement in this field can be introduced. With the support of third-party food delivery
applications such as Swiggy, Zomato and others, we can also bring personalized food delivery
to users. Modern web hosting services and ground-breaking technical reforms ranging from
Cloud, IoT to Cyber Security can also be used to make users more social. We hope this project
can help others working on developing applications in a similar field.

34
REFERENCES

BOOKS REFERRED

• Head First PHP & MySQL


• PHP and MySQL Web development
• You Don’t Know JS by Kyle Simpson
• Eloquent JavaScript by Marijn Haverbeke

WEBSITES

• https://www.researchgate.net/publication/353753942_Online_Table_and_Menu_Booki
ng_System_for_Restaurants
• http://ijcsn.org/IJCSN-2018/7-4/Design-and-Implement-An-Online-Restaurant-
Reservation-System.pdf

35

You might also like