Department of Computer Science and Engineering
45 Pages6931 Words383 Views
Added on 2021-07-23
Department of Computer Science and Engineering
Added on 2021-07-23
ShareRelated Documents
Kathmandu University
Department of Computer Science and Engineering
Dhulikhel, Kavre
A Project Report
on
“RESTAURANT DBMS”
[Course Code: COMP232]
(For partial fulfillment of II Year/ II Semester in Computer
Engineering)
Submitted By
Sailesh Dahal (10)
Sarayu Gautam (14)
Awan Shrestha (45)
Sabil Shrestha (51)
Submitted To
Mr. Santosh Khanal
Assistant Professor
Department of Computer Science and Engineering
Submission Date
22nd July, 2019
Department of Computer Science and Engineering
Dhulikhel, Kavre
A Project Report
on
“RESTAURANT DBMS”
[Course Code: COMP232]
(For partial fulfillment of II Year/ II Semester in Computer
Engineering)
Submitted By
Sailesh Dahal (10)
Sarayu Gautam (14)
Awan Shrestha (45)
Sabil Shrestha (51)
Submitted To
Mr. Santosh Khanal
Assistant Professor
Department of Computer Science and Engineering
Submission Date
22nd July, 2019
List of figures
Figure 1: Cart...............................................................................................................36
Figure 2: Menu............................................................................................................36
Figure 3: Signup page..................................................................................................37
Figure 4: Signup page..................................................................................................37
Figure 5: orders page...................................................................................................38
Figure 6: Tables before normalization.........................................................................38
Figure 7: Tables after normalization............................................................................39
Figure 8: ER Diagram before normalization...............................................................40
Figure 9: ER Diagram after normalization..................................................................41
Figure 1: Cart...............................................................................................................36
Figure 2: Menu............................................................................................................36
Figure 3: Signup page..................................................................................................37
Figure 4: Signup page..................................................................................................37
Figure 5: orders page...................................................................................................38
Figure 6: Tables before normalization.........................................................................38
Figure 7: Tables after normalization............................................................................39
Figure 8: ER Diagram before normalization...............................................................40
Figure 9: ER Diagram after normalization..................................................................41
Chapter 1: Introduction
1.1. Background
This project is a web-based Restaurant Database Management System which is
built using MySQL and Node.js. This project mainly focuses on handling various
data related to restaurant management. These include user data, import data, data
related to food order, menu contents, restaurant data, data related to reservation
and home delivery, and financial data of restaurant.
This project was built with a concept to enhance and digitalize restaurant
management so that the data is stored in efficient format which preserves all the
data that are generated in the restaurant in comparison to the old traditional way
when data used to be stored manually in file system or paper note books.
1.2. Objectives
1. To understand the concept of database management system.
2. To enhance our skill on database management system.
3. To create a database management system to manage a restaurant and its
internal affairs.
4. To create a simple web application to perform and demonstrate the basic
operations on the database including create, read, update and delete.
1
1.1. Background
This project is a web-based Restaurant Database Management System which is
built using MySQL and Node.js. This project mainly focuses on handling various
data related to restaurant management. These include user data, import data, data
related to food order, menu contents, restaurant data, data related to reservation
and home delivery, and financial data of restaurant.
This project was built with a concept to enhance and digitalize restaurant
management so that the data is stored in efficient format which preserves all the
data that are generated in the restaurant in comparison to the old traditional way
when data used to be stored manually in file system or paper note books.
1.2. Objectives
1. To understand the concept of database management system.
2. To enhance our skill on database management system.
3. To create a database management system to manage a restaurant and its
internal affairs.
4. To create a simple web application to perform and demonstrate the basic
operations on the database including create, read, update and delete.
1
Chapter 2: Synopsis
The database represents a Restaurant that has tables, staffs, stock, import, menu,
system of home delivery and reservation, and food order. There are total 24 tables
among which 21 are entity tables and 3 are relationship tables. This project
contains two types of users: Restaurant staff and customer.
The restaurant staffs belong to different category as per their role such as
“Manager”, “Chef”, “Waiter”. The manager of the restaurant acts as the head of
the restaurant who manages other staffs, decides menu of the restaurant, can
update food items and their price, manages imports, issues bill for orders, handle
reservations and homedelivery. The kitchen staffs can read orders and prepare
order accordingly. They can also view current pantry status, and manage the
imported goods. The serving staffs such as “Waiter” can take orders and insert
them into the system so that kitchen staffs can view those orders.
The customers are those who can request for a reservation or place a home
delivery request. In both cases, the customers must be logged in to the system
providing their basic information. While making a reservation, the customer must
provide date and time on which date they want to reserve a table in the restaurant.
They should also specify the number of persons they are reserving for. While
placing a home delivery request, a customer selects food items with their quantity
and places the order.
A particular import is made from a particular company whose contact information
is stored in the system. An import may contain many items that are stored as
import details. Each import detail fills the stock of the same name with updated
date of the import.
A menu has its start date and its name. Only a particular menu can be activated at
a time. A menu can be discarded for a time and can be re activated as per the
seasonal or any other requirements. A menu represents collection of food items
which are sorted according to their category. A food item may or may not be
available at a time.
2
The database represents a Restaurant that has tables, staffs, stock, import, menu,
system of home delivery and reservation, and food order. There are total 24 tables
among which 21 are entity tables and 3 are relationship tables. This project
contains two types of users: Restaurant staff and customer.
The restaurant staffs belong to different category as per their role such as
“Manager”, “Chef”, “Waiter”. The manager of the restaurant acts as the head of
the restaurant who manages other staffs, decides menu of the restaurant, can
update food items and their price, manages imports, issues bill for orders, handle
reservations and homedelivery. The kitchen staffs can read orders and prepare
order accordingly. They can also view current pantry status, and manage the
imported goods. The serving staffs such as “Waiter” can take orders and insert
them into the system so that kitchen staffs can view those orders.
The customers are those who can request for a reservation or place a home
delivery request. In both cases, the customers must be logged in to the system
providing their basic information. While making a reservation, the customer must
provide date and time on which date they want to reserve a table in the restaurant.
They should also specify the number of persons they are reserving for. While
placing a home delivery request, a customer selects food items with their quantity
and places the order.
A particular import is made from a particular company whose contact information
is stored in the system. An import may contain many items that are stored as
import details. Each import detail fills the stock of the same name with updated
date of the import.
A menu has its start date and its name. Only a particular menu can be activated at
a time. A menu can be discarded for a time and can be re activated as per the
seasonal or any other requirements. A menu represents collection of food items
which are sorted according to their category. A food item may or may not be
available at a time.
2
Chapter 3: Design and Implementation
3.1. System Requirement Specification
1. Programming Language: JavaScript
2. Framework: Node.js
3. Database Management System: MySQL
4. Tools Used: phpMyAdmin, MySQL Workbench, Visual Studio Code
3.2. List of Entities with justification
1. contact_info
This entity stores the contact information of users, restaurant and import
company so as to avoid redundancy caused due to the repetition of similar
type of information in multiple tables.
2. users
This entity stores the information regarding the authentication credentials
of the different type of users who need to sign in and signup in the system
for different purposes.
3. staff
This entity is a child of user entity that stores information particularly
about staffs working in the restaurant.
4. staff_category
This entity is for categorizing staffs based on their role and salary. No
staffs with a category not stored in the system can exist.
5. customer
This entity is the child of user entity for representing a customer. This
customer can make a reservation or request for a home delivery.
6. restaurant
This entity represents the restaurant and provides information about total
number of staffs and tables present in the restaurant along with its
capacity.
3
3.1. System Requirement Specification
1. Programming Language: JavaScript
2. Framework: Node.js
3. Database Management System: MySQL
4. Tools Used: phpMyAdmin, MySQL Workbench, Visual Studio Code
3.2. List of Entities with justification
1. contact_info
This entity stores the contact information of users, restaurant and import
company so as to avoid redundancy caused due to the repetition of similar
type of information in multiple tables.
2. users
This entity stores the information regarding the authentication credentials
of the different type of users who need to sign in and signup in the system
for different purposes.
3. staff
This entity is a child of user entity that stores information particularly
about staffs working in the restaurant.
4. staff_category
This entity is for categorizing staffs based on their role and salary. No
staffs with a category not stored in the system can exist.
5. customer
This entity is the child of user entity for representing a customer. This
customer can make a reservation or request for a home delivery.
6. restaurant
This entity represents the restaurant and provides information about total
number of staffs and tables present in the restaurant along with its
capacity.
3
7. import_company
This entity represents the company from which imports to the restaurant is
made. Total transaction and remaining transaction to that company is
stored.
8. import
This entity represents an import made at a particular date from a company
which is identified by its unique bill number.
9. import_detail
This is a weak entity of parent entity import. This entity is responsible for
storing details of goods imported in a particular import.
10. import_type
This entity categorizes the imported goods into different type on the basis
of their storage and use. This entity also has a measuring unit for a type of
import.
11. stock
This entity represents the stock of a particular good present in the
restaurant. The stock is filled whenever an import is made.
12. food_category
This entity categorizes food item prepared in the restaurant.
13. food_item
This entity represents a particular food item that is prepared in the
restaurant. It has its price and belongs to a food category.
14. menu
This entity represents the restaurant menu which is currently active.
15. menu_content
This entity is a weak entity of menu, which represents the food item
present in the menu and its availability.
16. restaurant_table
This entity stores the number and vacancy of a particular table in the
restaurant.
4
This entity represents the company from which imports to the restaurant is
made. Total transaction and remaining transaction to that company is
stored.
8. import
This entity represents an import made at a particular date from a company
which is identified by its unique bill number.
9. import_detail
This is a weak entity of parent entity import. This entity is responsible for
storing details of goods imported in a particular import.
10. import_type
This entity categorizes the imported goods into different type on the basis
of their storage and use. This entity also has a measuring unit for a type of
import.
11. stock
This entity represents the stock of a particular good present in the
restaurant. The stock is filled whenever an import is made.
12. food_category
This entity categorizes food item prepared in the restaurant.
13. food_item
This entity represents a particular food item that is prepared in the
restaurant. It has its price and belongs to a food category.
14. menu
This entity represents the restaurant menu which is currently active.
15. menu_content
This entity is a weak entity of menu, which represents the food item
present in the menu and its availability.
16. restaurant_table
This entity stores the number and vacancy of a particular table in the
restaurant.
4
17. reservation
This entity represents a table reservation made by a customer for a certain
date and time for given number of persons.
18. home_delivery
This entity represents a particular home delivery made by a customer.
19. food_order
This entity represents a particular food order placed whether by a
homedelivery of by a waiter.
20. order_item
This entity is weak entity of food_order and consists information about a
particular ordered item along with its quantity.
21. bill
This entity represents the bill issued for a particular order made at a
particular date which includes total price of the order.
22. order_relates_staff
This is a relationship table which shows which staff took which order.
23. order_relates_table
This is a relationship table which shows which order went to which table
24. order_relates_home_delivery
This is a relationship table which distinguishes home delivered ordered
from normal orders.
5
This entity represents a table reservation made by a customer for a certain
date and time for given number of persons.
18. home_delivery
This entity represents a particular home delivery made by a customer.
19. food_order
This entity represents a particular food order placed whether by a
homedelivery of by a waiter.
20. order_item
This entity is weak entity of food_order and consists information about a
particular ordered item along with its quantity.
21. bill
This entity represents the bill issued for a particular order made at a
particular date which includes total price of the order.
22. order_relates_staff
This is a relationship table which shows which staff took which order.
23. order_relates_table
This is a relationship table which shows which order went to which table
24. order_relates_home_delivery
This is a relationship table which distinguishes home delivered ordered
from normal orders.
5
3.3. List of attributes with justification
1. contact_info
1.1. contact_info_id
This is the PRIMARY KEY which is VARCHAR (100) needed to
represent contact information of a particular user, restaurant or an import
company.
1.2. name
This represents name of user or a restaurant or an import company which
is a VARCHAR (100) and this cannot be null.
1.3. email
This represents email of user or a restaurant or an import company which
is a VARCHAR (100) and this cannot be null.
1.4. address
This represents address of user or a restaurant or an import company
which is a VARCHAR (150) and this cannot be null.
1.5. phone
This represents phone number of a user or a restaurant or an import
company which is a VARCHAR (30) and this cannot be null.
2. users
2.1. user_id
This is the PRIMARY KEY which is VARCHAR (100) needed to
represent contact information of a particular user. It is also a FOREIGN
KEY of parent table contact_info.
2.2. username
This is a username which is VARCHAR (50), used by users for login and
signup in the system.
2.3. password
This is the hashed password used for logging into the system.
6
1. contact_info
1.1. contact_info_id
This is the PRIMARY KEY which is VARCHAR (100) needed to
represent contact information of a particular user, restaurant or an import
company.
1.2. name
This represents name of user or a restaurant or an import company which
is a VARCHAR (100) and this cannot be null.
1.3. email
This represents email of user or a restaurant or an import company which
is a VARCHAR (100) and this cannot be null.
1.4. address
This represents address of user or a restaurant or an import company
which is a VARCHAR (150) and this cannot be null.
1.5. phone
This represents phone number of a user or a restaurant or an import
company which is a VARCHAR (30) and this cannot be null.
2. users
2.1. user_id
This is the PRIMARY KEY which is VARCHAR (100) needed to
represent contact information of a particular user. It is also a FOREIGN
KEY of parent table contact_info.
2.2. username
This is a username which is VARCHAR (50), used by users for login and
signup in the system.
2.3. password
This is the hashed password used for logging into the system.
6
End of preview
Want to access all the pages? Upload your documents or become a member.
Related Documents
Database Management System for Gary Cafélg...
|14
|1361
|324
Monitoring KPIs for Wait Staff in Hospitality Managementlg...
|7
|816
|409
Order and Components - Thesis and Dissertation Guidelg...
|8
|967
|75
Implementation of HosPos Tableside System for Restaurantlg...
|12
|2316
|45
Assignment | The user to access the system his/her system has to be connected to internet.lg...
|16
|2090
|20
Assignment On Opportunity Plan Reportlg...
|21
|4230
|15