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

Saurabh MINIPROJECT

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 views19 pages

Saurabh MINIPROJECT

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/ 19

RESTURANT MANAGEMENT SYSTEM

TECHNICAL TRAINING REPORT

BACHELOR OF TECHNOLOGY

COMPUTER SCIENCE ENGINEERING


4th SEMESTER 2nd YEAR GROUP 1

GROUP MEMBERS: UNDER THE GUIDANCE of SAURABH


GUPTA(2201320100152) PROF. ROOP RANJAN

SHASHANK MISHRA (2201320100154)

Greater Noida Institute of Technology, Greater Noida

Dr. A.P.J. Abdul Kalam Technical University, Lucknow


(2023-24)

SECTION A:
PROGRAM NO 1: To Calculate the sum of Two Number.

PROGRAM NO 2: To Calculate the Multiple of Two Number.

PROGRAM NO 3: To Calculate the Sum of Two Number Using Function.


PROGRAM NO 4:

PROGRAM 5:

PROGRAM 6:
PROGRAM 7:

Output:

PROGRAM 8:

OUTPUT:
PROGRAM 9:

OUTPUT:

PROGRAM 9:

OUTPUT:
PROGRAM 11:

OUTPUT:

PROGRAM 12:

OUTPUT:
PROGARM 13:

OUTPUT:
PROGRAM 14:

OUTPUT:
PROGARM 15:

OUTPUT:
SECTION B
MINI PROJECT REPORT

GROUP MEMBERS: UNDER THE GUIDANCE of SAURABH


GUPTA(2201320100152) PROF. ROOP RANJAN

SHASHANK MISHRA (2201320100154)


SECTION 2-C

BATCH : G1

OVERVIEW
Core Functions:
Order Management: This is where staff take customer orders, input them into the system, and it gets
sent directly to the kitchen. The system can track the order status (placed, cooking, ready) so
everyone is on the same page.
Inventory Management: The system can keep track of your ingredients, allowing you to set reorder
points and avoid stockouts. It can even generate reports to help you understand what sells best and
optimize your inventory.
Table Management: This can be a digital floor plan showing which tables are occupied, reserved, or
free. This helps with seating customers efficiently.

Additional Features (might not be in all simple systems):


Menu Management: Easily create, edit, and update your menu with descriptions and prices.
Billing and Payments: Process bills including splitting checks and handling different payment
methods.
Customer Relationship Management (CRM): Track customer information and preferences to
personalize their experience and run loyalty programs.

Benefits:

Improved Efficiency: Everything is streamlined, reducing mistakes and wasted time.


Better Inventory Control: Save money by avoiding overstocking or running out of key ingredients.
Happier Customers: Faster service, accurate orders, and a smoother dining experience.

i ii h l d d l d f d
Data-Driven Decisions: Reports can help you understand sales trends, customer preferences, and
optimize your business.

MAIN.PY

* mysql.connector: This library helps connect to MySQL databases and interact with them.

* re: This library provides regular expression functionality for string manipulation.

* tkinter: This library is used for creating graphical user interfaces (GUIs) in Python.

* messagebox: This submodule of tkinter helps display pop-up messages for user interaction.

Database Connection:

* Establishes a connection to a MySQL database named "restaurant_management" on the local machine


("localhost") using the credentials provided.

*Creates a cursor object to execute SQL queries on the database.

User Management:

validate_email: This function checks if the provided email address follows a standard email format using regular
expressions.

register_user: This function allows users to register by providing their first name, email, and password. It
validates the email format and checks for existing registrations with that email before adding the new user to
the database.

login_user: This function enables users to log in using their email and password. It retrieves user information
from the database and verifies the credentials before granting access to the restaurant management features.

reset_password: This function allows users to reset their password by entering their registered email address. If
the email exists, it prompts for a new password and updates the password in the database.

Restaurant Management:

add_menu_item: This function adds a new menu item to the database with a name and price.

view_menu: This function retrieves all menu items from the database and displays them in a pop-up message
box.

place_order: This function allows users to place orders by entering the menu item ID and quantity. It adds the
order details (user ID, menu item ID, quantity, and order date) to the database.
view_orders:This function retrieves all orders from the database and displays them in a pop-up message box. It
combines information from users, menus, and orders tables to show customer names, items, quantities, and
order dates.

Graphical User Interface (GUI):

The code utilizes tkinter to create several windows for user interaction:

Main window: This window displays the application title and buttons for registration, login, and password
reset functionalities.

Registration window: This window prompts users for their first name, email, and password during registration.

Login window: This window asks users for their email and password to log in to the system.

Reset password window: This window allows users to enter their registered email to reset their password.

Restaurant management window: This window provides functionalities for adding menu items, viewing the
menu, placing orders, and viewing all orders (accessible only after successful login).

SERVER.SQL

1. Creating the Database:

- The first line CREATE DATABASE restaurant_management; creates a new database named
"restaurant_management". This database will store all the tables and data related to the restaurant
management system.

2. Using the Database:

- The second line USE restaurant_management; tells the database system that you want to start working with
the "restaurant_management" database. All subsequent SQL statements will be executed on this specific
database.

3. Creating Tables:
- The code then defines three tables: users, menu, and orders. Each CREATE TABLE statement specifies the
structure of the table, including the columns and their data types.

- users table: This table stores information about the users of the system, likely including staff or customers. It
has four columns:

- user_id: This is an integer (INT) that uniquely identifies each user (PRIMARY KEY). It also auto-increments
(AUTO_INCREMENT), meaning a new unique ID is generated automatically whenever a new user is added.

- first_name: This stores the first name of the user (VARCHAR(255)), which can hold up to 255 characters.

- email: This stores the email address of the user (VARCHAR(255)), also limited to 255 characters. The
UNIQUE constraint ensures no duplicate email addresses exist in the table.

- password: This stores the password of the user (VARCHAR(255)) likely hashed for security reasons.

-menu table: This table stores information about the menu items offered by the restaurant. It has three
columns:

- menu_id: This is an integer (INT) that uniquely identifies each menu item (PRIMARY KEY) and auto-
increments for new additions.

- item_name: This stores the name of the menu item (VARCHAR(255)) with a maximum length of 255
characters.

- price: This stores the price of the menu item (DECIMAL(10, 2)) which allows for values up to 10 digits with 2
decimal places.

- orders table: This table stores information about customer orders. It has six columns:

- order_id: This is an integer (INT) that uniquely identifies each order (PRIMARY KEY) and auto-increments
for new orders.

- user_id: This integer (INT) references the user_id from the users table, indicating which user placed the
order (FOREIGN KEY).

- menu_id: This integer (INT) references the menu_id from the menu table, indicating which menu item was
ordered (FOREIGN KEY).

- quantity: This integer (INT) specifies the quantity of the menu item ordered by the user.

- order_date: This stores the date and time (DATETIME) when the order was placed.

4. Foreign Keys:

- The orders table uses foreign keys to establish relationships between tables.

- The user_id column references the user_id column in the users table, ensuring a valid user placed the order.

- The menu_id column references the menu_id column in the menu table, ensuring the ordered item exists on
the menu.
SCREENSHOTS:OUTPUT

General User:
Upon launching the application, the user is presented with a main window.
The main window has three buttons:
"Register": Clicking this button opens a registration window where a new user can create an
account by providing their first name, email, and password. The system validates the email format
before registering.
"Login": Clicking this button opens a login window where the user can enter their registered email
and password to access the restaurant management features.
"Reset Password": Clicking this button opens a window where the user can enter their email
address to reset their password if forgotten.

Registered User:

Upon successful login, a registered user gets access to a restaurant management window.
This window provides functionalities for managing the restaurant:
"Add Menu Item": This button allows the user to add a new item to the restaurant's menu by
specifying the item name and price.
"View Menu": Clicking this button retrieves all menu items from the database and displays them
in a message box.
"Place Order": This section allows the user to place an order. The user can enter the menu item's
ID (obtained from the "View Menu" function) and the desired quantity. Clicking the "Place
Order" button creates a new order record in the database.
"View Orders": This button retrieves all placed orders from the database and displays them in a
message box. The information includes order ID, customer name (obtained from user
registration), item name, quantity, and order date.
Overall UI Functionality:
The UI is designed using the Tkinter library, a Python library for creating graphical user interfaces.
The system utilizes a MySQL database to store user information, menu items, and placed orders.

You might also like