Saurabh MINIPROJECT
Saurabh MINIPROJECT
BACHELOR OF TECHNOLOGY
SECTION A:
PROGRAM NO 1: To Calculate the sum of Two Number.
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
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.
Benefits:
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:
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.
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
- 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.
- 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.