Restaurant Management System
Restaurant Management System
1 Acknowledgement 1
2 Introduction 2
3 Objectives 3
4 Source Code 4
5 Output 11
6 Bibliography 15
1
Acknowledgement :
I would like to express my heartfelt gratitude to Hari Prasad Sir for his invaluable guidance, unwavering support,
and expert insights throughout the development of this project on Restaurant Management Systems. His mentorship
has been instrumental in enhancing my understanding of the subject, and his dedication to my growth as a student
has been truly inspiring. Throughout each stage of this project, he has been patient, providing thoughtful feedback
and motivating me to continuously strive for improvement. I am deeply grateful for his assistance in helping me
overcome various challenges encountered along the way, and his encouragement has been a steady source of
inspiration.
I am also sincerely thankful to Velammal Bodhi Campus, Theni, for the invaluable opportunity to undertake this
project. The supportive environment provided by the campus has fostered my learning and development. I would
like to acknowledge the resources and facilities made available to me, which were essential in bringing this project
to fruition. The positive atmosphere and culture of academic excellence at Velammal Bodhi Campus have
significantly contributed to my motivation and drive to deliver a successful project.
Furthermore, I extend my heartfelt thanks to our respected Principal, Mrs. Selvi, for her exemplary leadership and
constant encouragement. Her vision and commitment to creating a nurturing environment have been a source of
motivation for all students, including myself. Her emphasis on striving for excellence has left a profound impact on
my approach to this project, pushing me to put forth my best efforts. I am grateful for her guidance and for
instilling in us the values of hard work, dedication, and resilience.
Finally, I would like to express my deep appreciation for the unwavering support and encouragement I received
from my peers and family. Their constant motivation, combined with their belief in my capabilities, has been a
tremendous source of strength throughout this journey. This project would not have been possible without the
collective support and encouragement of everyone involved, and I am deeply thankful for each of their
contributions to my growth and success.
2
Introductions :
Python is a key component in this system, providing the logic that drives the platform's
functionality. Its versatility and simplicity allow for efficient handling of core operations such
as processing customer orders, generating bills, managing inventory, and scheduling
reservations. Python’s integration with MySQL, facilitated through the MySQL Connector, is
crucial in managing the database efficiently. SQL (Structured Query Language) is used to store,
retrieve, and update essential data, ensuring that all information, such as customer orders,
billing records, and stock levels, remains synchronized in real time.
The interface of the RMS is designed to be intuitive and user-friendly, enabling restaurant staff
to easily navigate between different tasks, like order entry and payment processing. This
seamless interaction between the front-end interface and the backend database ensures smooth
operations and provides a better overall experience for both staff and customers
3
Objectives :
The objective of this Restaurant Management System (RMS) project is to develop a fully
integrated software solution that automates and streamlines critical restaurant operations such as
order processing, billing, table reservations, and inventory control. In today's competitive
restaurant industry, efficiency and accuracy are crucial to maintaining profitability and
customer satisfaction. This system aims to alleviate the challenges faced by restaurant staff and
management by minimizing manual processes, thereby reducing errors, speeding up service,
and ensuring a smooth customer experience.
One of the primary objectives is to implement Python as the core programming language for
developing the backend functionality of the system. Python's ease of use and flexibility make it
an ideal choice for handling various tasks, such as managing customer orders, generating bills,
updating inventory, and processing reservations. The system will integrate Python with a
MySQL database using the MySQL Connector, ensuring efficient data management. This
integration allows for real-time updates of essential information like stock levels, order statuses,
and billing records, providing accurate data to staff and management.
Another important goal of the project is to enhance the user experience by developing a simple
yet powerful user interface. The interface will be designed to be intuitive and user-friendly,
allowing restaurant staff to efficiently handle daily operations, such as order entry, payment
processing, and inventory tracking. The user interface will ensure that all staff, regardless of
their technical skills, can easily navigate the system to perform tasks quickly and accurately,
reducing delays and improving customer service.
Additionally, the RMS aims to enable data-driven decision-making for restaurant management.
By collecting and storing data related to sales, inventory, and customer behavior, the system
will generate detailed reports and analytics that can help management make informed decisions.
This data can be used to adjust inventory, optimize staffing, identify popular menu items, and
improve service efficiency. Such insights will enable restaurant owners to optimize resources
and scale their operations effectively.
Ultimately, the objective of this project is to create a comprehensive solution that not only
improves the efficiency of day-to-day operations but also contributes to the overall success and
profitability of the restaurant. The RMS will allow restaurant owners to focus more on
enhancing the customer experience and growing their business, supported by an automated
system that handles the essential functions with accuracy and speed.
4
Source Code :
#CONNECTION
import mysql.connector
yn = int(input("DO YOU WANT TO ORDER AN ITEM? type(1 for yes/2 for going back to
main page): "))
if yn == 1:
byo()
else:
print("THANK YOU")
print("YOU HAVE BEEN REDIRECTED TO THE MAIN PAGE")
x.commit()
def byo():
ID = int(input("ENTER DISH NO. OF THE ITEM YOU WANT TO ORDER: "))
QUANTITY = int(input("ENTER QUANTITY: "))
NAME = input("ENTER YOUR NAME: ")
MOBNO = input("ENTER YOUR MOBILE NUMBER: ")
ADDRESS = input("ENTER YOUR ADDRESS: ")
if len(dish) == 0:
print("Invalid Dish ID.")
return
PRICE = dish[0][2]
TOTAL_PRICE = QUANTITY * PRICE
ins = "INSERT INTO cusdet (ID, QUANTITY, NAME, MOBNO, ADDRESS,
TOTAL_PRICE) VALUES ({}, {}, '{}', '{}', '{}', {})".format(ID, QUANTITY, NAME,
MOBNO, ADDRESS, TOTAL_PRICE)
cbj.execute(ins)
x.commit()
print("\n", "THANKS FOR YOUR ORDER", "\n\n", "YOUR ORDER HAS BEEN
ORDERED SUCCESSFULLY", "\n\n")
print("YOU HAVE BEEN REDIRECTED TO THE MAIN PAGE")
orders = cbj.fetchall()
if len(orders) == 0:
print("No orders found for this mobile number.")
return
print("ID:", dish[0], "\n", "ITEM NAME:", dish[1], "\n", "ITEM TYPE:", dish[3], "\n",
"TOTAL PRICE:", order[5], "\n", "MOBILE NUMBER:", order[3], "\n", "ADDRESS:",
order[4], "\n")
x.commit()
# ----FOR FEEDBACK----
def fdbck():
NAME = input("Enter your name: ")
print("Write something about us:")
FEEDBACK = input()
7
# ----WELCOME PAGE----
def start():
print("\n")
print(" ____________")
print(" ……….…..…….……………………………………….………......")
print(" ----------------------------WELCOME TO-----------------------------")
print(" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::")
print(" [:::::::::::::::> GROVE STREET RESTAURANT <:::::::::::::::]")
print(" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::")
print(" ………………………………………………………………………….”)
print(" -------------------------------------------------------------------")
print("\nPress assigned keys for going forward")
print("1. CUSTOMER")
print("2. EXIT")
# ----MENU OPTIONS----
def start1():
while True:
print("\n")
print("1. VIEW MENU")
print("2. VIEW YOUR ORDERS")
print("3. CANCEL ORDER")
print("4. FEEDBACK")
8
print("5. EXIT")
ch1 = int(input("Enter your choice: "))
if ch1 == 1:
vmen()
elif ch1 == 2:
vyo()
elif ch1 == 3:
cyo()
elif ch1 == 4:
fdbck()
elif ch1 == 5:
print("THANK YOU")
break
else:
print("\nINVALID CHOICE\nTRY AGAIN\n")
# ----MAIN LOOP----
while True:
print("\n")
ch = int(input("Enter your choice (1. CUSTOMER / 2. EXIT): "))
if ch == 1:
start1()
elif ch == 2:
print("THANK YOU")
break
else:
print("INVALID CHOICE\nTRY AGAIN")
9
Database :
10
Output :
# WELCOME PAGE AND VIEWING MENU
12
13
# ORDERING AN ITEM
Bibliography :
Computer Science Class 12 Book (SCS)
Computer Science Class 11 Book (SCS)
https://www.tutorialspoint.com/python/index.html
https://www.w3schools.com/python/
https://www.guru99.com/black-box-testing.html
https://www.javatpoint.com/black-box-testing
https://docs.python.org/3/tutorial/modules.html