You are on page 1of 60

Restaurant Management

JavaFx
Done By
1941110 Guruprasad N
1941111 Jogith Biju Chungath
Aim
The aim of this project is to build a system which makes the process of managing a hotel and booking
a table convenient for the staff and the user respectively. The portal manages the bookings made by
the guests for hotel facilities like table food and log . It also supports Admin privileges through an
admin console with the control to create, modify and delete the availability of any facility. There is
also a Billing facility for the guests.
Acknowlegement
I would like to express my special thanks of gratitude to my faculties Peter Augustine D and Roseline Mary who gave
us the golden opportunity to do this wonderful project on the JavaFX which also helped us in doing a lot of Research
and we came to know about so many new things we are really thankful to them. Above all I thank God Almighty
without whose grace the project was completed within the limited time frame.
Covid 19 Pandemic
This app is used to facilitate food ordering easier in the situation of pandemic .Customers can directly access the
menu items directly from the comfort of their table by scanning the QR code stuck on their table. They can directly
pay the bill through UPI or netbanking. Waiters or Chef need not go meet them to place order so there will be
contactless delivery.
Prerequisites Used

▪ JavaFX SDK 2.1


▪ OpenJDK 15
▪ Intellij Community Edition
▪ Glucon Scene Builder
▪ Twilio
▪ Excel 2019
Life Cycle of the program

Restaurant Order
Management

Manager Employee

Edit Employee Edit Menu Table Orders


Restaurant Table Management

Staff (PRINCIPLE OF LEAST PRIVILEGE (POLP)

▪ Can view change and edit orders


▪ View Bill
▪ Can View pending orders

Admin Role
▪ Secure Login System for Admin Panel
▪ Add, Delete, Edit table
▪ Add employee
Employees Class
● Basic information of the
employee
● Login Details
● Employee Count
Employee Class
● Employee Creation
Successful
● First Name of Employee
● Last Name of Employee
● UserName of Employee
● Type Of Employee
● Log Creation Time
● Validating Credentials
Itemobject
● This class is used for the
generation of items on
the menu at a
restaurant.Items are
stored in Order objects
and which contain the
contents of an order.
● This creates a new item
object with a name, price
and quantity.
● Gets parameters such as
quanity ,Price ,Name
Items
● This static class contains
method that aim to keep
track of items.
● The class stores the
current items in the
entire platform and
enables the ability to add
or remove more items.
● Creates a new item and
adds it to a HashMap,
also creates and stores a
corresponding Item
object.
● Removes an existing
item from a hashmap
given the name of the
item that needs to be
removed. Also removes
the corresponding Item
object from storage.
● Gets the list of the item
objects created
● Gets the price of an item
given the name of it
Login page
Controller
● Gets username and
password from the text
field
● Checks Credential in the
Database.
● If details don't match
Login failed (alerts the
Manager
Manage
ConfirmationsContro
ller
● Create Order Object
● Puts current order into
selected variables
● Remove the order from
table.
● Free the table
● Close the Stage
Manage the
Employees
● Create Employee Table
containing basic info Id,
First Name,Last name,
User Name,Employee
type
● Show List of employees
in the table
Manage Employee
● Getting Values from the
text field
● Crating a list of all
Employees
● Getting Entered
employee information
Manage Employee
● Delete employee from
the table
delete the login from the
table
Display log of employees
after deletion in the
company
Manage Menu
● List containing all of the
current items in the
menu
delete the items add
menu items to table
view assign values to the
table column
Manage Menu

Allows user to add new
items to the restaurant
menu.
Get the name of new
item data validation for
text field if it is empty.
Store item in item class
add the item to a table
view .
Create a list and hold off
all items
Manage Order
● Import nessacary
packages for manage
order
Order Page
Orders and the platform
allows user to select multiple
items.
Listen to see if the item is
table is selected then delete
and modify options
if an item is selected then
enable a button delete and
modified .
Put all orders in point with
table view .
Assign the object variable to
table column.
If object is empty display all
persons compare first name
and last name of every person
with ID.
Order Page
Controller
● Filter matches the table
number display the filter
matched order ID

If it does not match
return false takes a user
to delete confirmation
window takes a user to
modify order page

Create object for the
current directory into
this variable the current
order switching to this
variable close

The selected order in
table view the order is
closed guy setting the
order table too.
Order page
Controller
● Create order object set
the order table 0 able to
update with new orders
get the window of delete
confirmation
Order page
Controller
● Box allows the user to
export multiple orders
which has been selected
to a table view to a csv
view

the user can create the
directory of the csv file
were they want to input
create order object could
convert into this variable
export
selected items to csv
Order page
Controller
● if no directory selected
none at the selected
should be displayed

Go to home page users
can upload a csv file
containing the

Menu parts records of
the csv reload the
current page
Order page
Controller
● Exception When there
is no Orders in the
table.
Modify Order
● Importing necessary
packages to see order in
the order table
● Editing Order which is
already placed
Modify Order
● List of all items in the
list
● Storing information in
hash table
● List of Items available
for the customer to
select from the menu
● Display Order ID to
Modify
● Calculate Total Bill
● Display Comments and
special instructions for
cooking
● Add ALL ITEMS TO THE
COMBO LIST
Modify Order
Controller
● Inserting
name,Price,Quantity
into the table.
● Getting Comments and
special instruction
● Delete the item
● Update the cost as per
the removed item
Deletion
Confirmation
● Item removed from the
hash map
● New amount updated
● Generate total bill
Employee Creation
● Create new employee
to add to the platform,
this method takes input
from the user and passes
and creates an new
employee object which
is added to the platform.
● Collect the new
employee's details
● Create new employee
object
● Add employee to
platform object
New Order
● This class controls the
new order page.
● Takes Values order
No,Quantity, Item
Column,Price Number
● create a TableView of
the items that are
currently in a persons
order
● Show all of the tables
that are currently
available
Deletion
Confirmation
● Gets Selected number of
table
● create a new order
● Add items to order
● Add text box from
comment section
● Display order in console
● remove all items from
current order list
● Add order to platforms
● Update table with order
number
● Sets the current table to
0
Order Creation

● Creates a new order


object that takes a table
number when it is
created.
● Once created the order
is also assigned a order
id and a order time.
● Adds item object to be
stored in the order and
then populates the order
string.
● Adds multiple items
objects to be stored in
the order.
Order
● Removes an item object
from the order and
updates the order string.
● update the order string
when item removed
● Updating total bill
Scene Controller
● Home
● Manage Orders
● Manage employees
Scene Controller
● Home
● Manage Orders
● Manage employees
Home Page
● Importing Javafx And
Arraylist
● Table Numbers 1-9
● Declared as Array
Home Page
Controller

● Displays the current


taking on the platform
● Add buttons to arraylist
● Change colour of
buttons based on table
number
● "Staff" don't get access
to the menu and staff
management
● Get all tables that do not
have orders
Home Page
Controller
● If the button does not
have an order set the
colour of the button red
● Get the table number
from the button object,
limited to buttons 1 - 9
● set the current order
Home page
Controller
● Select the current order
and go to the modify
page
● Display the order in the
terminal
● Creates a new scene that
points to the modify
order page when a
button is clicked.
● Throws IOException if
the required FXML page
cannot be loaded
● Creates a new scene that
points to the new order
page when a button is
clicked. @throws
IOException if the
required FXML page
cannot be loaded
Home Page
Controller
● Creates a new scene
that points to the menu
page when a button is
clicked event
● Creates a new scene
that points to the new
order page when a
button is clicked.
● Creates a new scene that
points to the manage
orders page when a
button is clicked.
● Creates a new scene
that points to the
manage employees page
when a button is clicked.

● Creates a new scene


that points to the main
login page when a
button is clicked.
Home Page
Controller
● Creates a new scene
that points to the
Ordermanager when a
button is clicked event
● Creates a new scene
that points to the
Employee Manager
when a button is clicked.
● Creates a new scene that
points to the Logout
page when a button is
clicked.
Home Page
Controller
● If the button does not
have an order set the
colour of the button red
● Get the table number
from the button object,
limited to buttons 1 - 9
● set the current order
Main
● Initialising the program
Home Page
Controller
● Creating Employee
Credentials
● Setting Menu items
Main
● New Tables
● Initializing Order
● Initializing Log
Login Screen
Employee Login
Modify Order
Deleting Items in Menu List
Chef View of Orders Pending
Sms Subscription
Manager View
Manager able to edit menu
Manager can Edit Revoke and Grant
Access

You might also like