Skip to content

Apr 6, 2020, a simulation for a real-life restaurant reservation system. complete OOP System with GUI and a UML Class Diagram

Notifications You must be signed in to change notification settings

alexanderkamal/restaurant-reservation-system

Repository files navigation

restaurant-reservation-system

a simulation for a real-life restaurant reservation system. complete OOP System with GUI and a UML Class Diagram

CONTACT US for the full code

GENERAL

Welcome to the restaurant application! This app is completely free. 
You may use it as much as you like without paying a single buck. In
exchange for using it, you are instead asked for a small favour. Please 
let all your friends know about the app. We're sure they will 
love it. Also, feel free to send us any comments you might have 
about this app. See contact & support at the end of this document.


DESCRIPTION

The app is small and short but surprisingly addictive app. use it to
Reserve a table in the restaurant, you can also reserve more than one table
using the same account. if you don't have an account you can create a new
one. you can join as a client to order dishes or as a waiter to look after
the tables which is already reserved and bring food and drinks to the tables
or as a cooker to see orders to prepare and also the manager can join to see
what is going on and he have the right to delete a user off course after taking 
the necessary measures. Once you login the app check the username from a
xml file.

If the entered username refers to a client
the program is switched to  the client dashboard. Client can switch the language from English to                                             
Arabic. Client choose the type of the table he want to reserve and the number of seats.Once he
click on reserve button the program search for a table which suits his Requirements. If there 
is no a table empty a message dialogue is sent to the user That there is no a table with this
requirements so he try another requirements or logout, if There exist a table which suits the
client requirements the program transfer the user to the Reserving window in which the user choose
the main dish, appetizer and the dessert. If the User hadn’t choose any dish and pressed reserve
there will be a message dialogue tell him to choose At least one dish and add it, there is button
at the top which the user click on to show the menu in another window, Also there is a button which
turn the user back to the table window and if the user  pressed on it all the order that the user 
added will be deleted. There is also a delivery button which the user can click on, it transfer the
user to a new window with a quotation saying “coming soon”. Off course we are doing everything we can
do to update this program to a new version which supports delivery to the clients. If the client chooses
the dishes and pressed reserve, program will transfer to the receipt window there he can see the receipt
in details and he also can press the rating button to rate the restaurant and the app and off course he 
is allowed to send us comments. There also exist a button to contact us if there any complaint by pressing
one of those button the user can contact us by sending us an email. And there is a leave button which allow
the user to logout.

If the entered username refers to a cooker
Cooker window is opened. If there any reservation it should appears on the cooker window in a table of orders
and table number the cooker can move with the cursor in the order box if the order is too long. The chef isn’t
allowed to know the client name but the waiter is allowed.

If the entered username refers to a waiter
A waiter window is opened which has a table shows the table number which is reserved today and the name of the
client who will set on the table to serve him

If the entered username refers to a manager
He is switched to a window which contains many details he has the access to create a new user for a new employee,
he has the right to delete an employee but he doesn’t have the right to delete a manager like him as he should 
contact the head manager to do something like this, also the manager has the right to delete a client account.
Manager can see tables reserved, look after employees, see daily profit and see some statistics of the restaurant.
Every day manager should open the app and start new day button to delete the data of the previous day so client can
reserve tables again

In every window in the program there is a logout or back button.
If you pressed close which is in the right corner int the top of window all the program will be closed and if you hadn’t pressed the reserve button all your order will be deleted.
If there any complaint contact us :

mohamedkamalahmed@gmail.com
amrashraf759@gmail.com


DIVISION OF LABOR

We have divided the work into 2 main parts
1-logics and code 
2-GUI, designing and planning
Both of us worked on both of the 2 parts but the large size of GUI part was on (Mohamed Kamal)  Where he was designing
and planning all the screens and the large size of the part of coding was on ( Amr Ashraf) , So  We have distributed the work as follow:-
1-Reading and writing from file                 
2-making logic calculations
3-Gui packages
4-Rating and Inheritance
And we worked with each other on the both parts as we had divided the day into 2 periods and in the intersection of the 2 periods
we contact each other about what is done in the project.

About

Apr 6, 2020, a simulation for a real-life restaurant reservation system. complete OOP System with GUI and a UML Class Diagram

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages