Ajp Report2
Ajp Report2
MICRO-PROJECT REPORT
Submitted By:
SHRAWANI WANKHADE
` Enrollment No. 2200240172
VISION:
To educate students, to be computer technology expert & technocrat, with brainstorming and
learning hardware, software, cocurricular and extracurricular concept.
MISSION:
To enhance and pacify knowledge thirst in order to strengthen IT and Computer skills in
building blocks of Nation.
1|Page
DEPARTMENT OF COMPUTER ENGINEERING
DR. PANJABRAO DESHMUKH POLYTECHNIC, AMRAVATI
(A Govt Aided Institute)
CERTIFICATE
This is to certificate that the Ms. Shrawani Wankhade. Roll No 44 of Fifth Semester of Diploma in
Computer Engineering has completed the Project entitled ‘Restaurant management system.'
satisfactorily in the partial fulfilment of Project for the academic year 2024-25 as prescribed in the
curriculum.
2|Page
ACKNOWLEDGEMENT
First, we would like to thank all the people that worked along with us with their patience and openness
they created an enjoyable working environment.
It is indeed with a great sense of pleasure and immense sense of gratitude that we acknowledge the
help of these individuals.
We would like to thank my Head of the Department for his constructive criticism throughout our
Microproject.
Nextly, We would like to thank my project guide Prof.S.S.Patil for his guidance throughout the
project.
We’re extremely grateful to our department staff members and friends who helped us in successful
completion of this project.
3|Page
STUDENT DETAILS
Title of the Micro-Project: “Restaurant management system”
Submitted By:
1.
Shrawani S. Wankhade 44
Teacher’s Signature
4|Page
INDEX
1. Aim 06
2. Benefits 06
3. Course Outcomes 06
4. Introduction 07
5. Project Overview 08
Technologies Used 10
7.
8. Functional Requirement 11
9. Database Design 13
10 ER Diagram 14
12. Flowchart 16
15. Conclusion 52
16. References 52
5|Page
1. Aim
Restaurant management system.
2. Benefits
1. Improved Efficiency: Automates tasks and streamlines operations.
2. Enhanced Customer Experience: Speeds up service and personalizes interactions.
3. Real-Time Data Access: Provides up-to-date inventory and sales analytics.
4. Cost Control: Reduces waste and optimizes labor costs.
5. Scalability: Easily adapts to growth and additional features.
6. Centralized Management: Manages multiple locations and generates comprehensive reports.
7. User-Friendly Interface: Simplifies operations for staff and reduces training time.
8. Integration Capabilities: Connects with third-party services and APIs.
9. Enhanced Security: Protects sensitive data and allows user access control.
10. Learning Opportunity: Develops programming skills and problem-solving abilities.
3. Course Outcomes
1. Develop programming using GUI Framework (AWT and Swing).
2. Handle events of AWT and Swings components.
3. Develop Java program using network concepts.
4. Develop program using database.
5. Develop program using servlet.
6|Page
4. Introduction
In today's fast-paced food service industry, an efficient management system is essential for
maintaining high levels of customer satisfaction and operational effectiveness. The Restaurant
Management System (RMS) project developed in Java aims to streamline various restaurant
operations, making it easier for management and staff to handle tasks efficiently and effectively.
This RMS features a user-friendly interface that allows for the management of key aspects of
restaurant operations, including product categories, inventory, user verification, and order processing.
1. Add Category and New Product: The system enables the admin to add new categories and
products to the menu easily. This feature supports dynamic menu management, allowing
restaurants to adapt to changing customer preferences.
2. View, Update, and Delete Products: Admins have the ability to view the existing product
list, update product details, or remove products that are no longer offered. This functionality
ensures that the menu remains current and relevant.
3. User Verification: To enhance security, the system implements a user verification process
where only admin users can access specific functionalities related to product management.
This ensures that sensitive operations are restricted to authorized personnel, safeguarding the
integrity of the system.
4. Order Placement and Bill Viewing: The RMS includes a dedicated frame for placing orders,
where staff can efficiently input customer orders. Additionally, users can view bill details,
providing transparency in pricing and improving customer trust.
5. Account Management: Features such as changing passwords and updating security questions
are included to enhance user security. This empowers users to maintain the integrity of their
accounts and ensures that sensitive information is protected.
7|Page
5. Project Overview
Purpose of the Project
The Restaurant Management System (RMS) project aims to provide an efficient solution for
managing various operations within a restaurant. The primary purpose of this system is to streamline
processes such as inventory management, order processing, and billing, thereby enhancing
operational efficiency and customer service. By automating these tasks, the RMS reduces manual
workload, minimizes errors, and allows restaurant staff to focus more on delivering an exceptional
dining experience.
8|Page
6. Objective of the Restaurant Management System
The objective of developing a Restaurant Management System (RMS) in Java is to create a
comprehensive software solution that streamlines and enhances the operational efficiency of
restaurants. The project aims to achieve the following key objectives:
1. Automation of Operations:
o Automate routine tasks such as order placement, inventory management, and billing to
reduce manual effort and minimize human errors.
2. Improved Customer Service:
o Provide a user-friendly interface for staff to quickly and accurately take orders, thereby
reducing wait times and improving the overall dining experience for customers.
3. Efficient Inventory Management:
o Enable real-time tracking of inventory levels, allowing restaurant managers to make
informed decisions about purchasing and menu planning to prevent shortages and reduce
waste.
4. Data-Driven Decision Making:
o Incorporate analytics and reporting features that provide insights into sales trends,
customer preferences, and operational performance, enabling better strategic planning.
5. User Role Management:
o Implement a role-based access control system that distinguishes between different user
roles (e.g., admin, staff) to enhance security and ensure that sensitive functionalities are
only accessible to authorized personnel.
6. Enhanced Security:
o Ensure the security of sensitive data, including user credentials and payment information,
through robust authentication mechanisms and data encryption.
7. Scalability and Flexibility:
o Design the system to be scalable, allowing for the addition of new features and capabilities
as the restaurant grows or as user needs evolve.
8. Integration Capabilities:
o Facilitate integration with third-party services such as payment gateways and delivery
platforms to enhance the system's functionality and improve customer service.
9|Page
7. Technologies Used
The Restaurant Management System is developed using the following technologies:
1. Java: The primary programming language used for developing the RMS. Java's platform
independence, robustness, and extensive libraries make it an ideal choice for building enterprise-
level applications.
2. Swing: This is a part of Java's Standard Library used for creating graphical user interfaces (GUIs).
Swing provides a rich set of components, allowing developers to build intuitive and visually
appealing interfaces for the RMS. Key features include:
Lightweight components that allow for better performance.
A flexible layout management system that helps organize UI elements effectively.
Customizable components that can be adapted to meet specific design requirements.
3. AWT (Abstract Window Toolkit): AWT is used in conjunction with Swing for handling basic
GUI components and event handling. It provides fundamental building blocks for user interface
components, enhancing the overall functionality of the RMS.
4. MySQL Database: The RMS utilizes MySQL as its relational database management system
(RDBMS). MySQL is chosen for its reliability, scalability, and ease of use. Key features include:
Efficient data storage and retrieval for large datasets, essential for managing inventory and
order information.
Support for SQL (Structured Query Language), allowing for complex queries to generate
reports and analytics.
JDBC (Java Database Connectivity) for seamless integration between the Java application and
MySQL database, enabling smooth data transactions and operations.
10 | P a g e
8. Functional Requirements
Add Category
Description of the Feature: The "Add Category" feature allows administrators to create and manage
different categories within the restaurant's menu. This functionality is crucial for organizing menu
items, making it easier for staff to navigate and for customers to understand the offerings. Categories
may include items such as "Appetizers," "Main Courses," "Desserts," and "Beverages," which help
in classifying products for more intuitive management.
User Interface for Adding New Categories: The user interface for adding new categories is
designed to be straightforward and user-friendly. It consists of the following components:
Text Field: A single input field where the admin can type the name of the new category.
Submit Button: A button to submit the entered category for processing.
Cancel Button: An option to exit the form without making changes.
The layout is clean and intuitive, with clear labels and prompts to guide the user through the process.
A success message appears upon successful addition of a category, while an error message is
displayed in case of invalid input.
Validation Checks for Category Entries: To ensure data integrity and prevent errors, validation
checks are implemented:
Non-empty Check: The category name field must not be empty; otherwise, an error message
prompts the user to enter a category name.
Character Limit: The input should be limited to a certain number of characters (e.g., 30) to
avoid excessively long category names.
Uniqueness Check: The system verifies that the entered category name does not already exist
in the database to prevent duplicate categories.
11 | P a g e
Add New Product
Description and Purpose of Adding New Products: The "Add New Product" feature enables
administrators to introduce new menu items into the system. This is essential for maintaining an
updated and diverse menu, allowing restaurants to adapt to seasonal changes, customer preferences,
and special promotions. By easily adding new products, restaurants can enhance customer satisfaction
and drive sales.
Fields Required: When adding a new product, the following fields are typically required:
Product Name: A descriptive name for the product (e.g., "Spaghetti Carbonara").
Price: The selling price of the product, which is crucial for billing and revenue management.
Category: A dropdown menu or selector to assign the product to a relevant category, ensuring
it is organized properly within the menu.
12 | P a g e
9. Database Design
Overview of Database Structure
The database design for the Restaurant Management System (RMS) is structured to support efficient
data management and facilitate seamless interactions between different components of the
application. The database is relational, meaning that data is organized into tables that can be linked
through relationships. This design helps maintain data integrity and allows for complex queries to
retrieve information as needed.
Key considerations in the database structure include normalization to eliminate data redundancy,
ensuring data integrity through foreign key constraints, and creating indexes to enhance query
performance. The main entities represented in the database include Users, Products, Categories, and
Bills.
Tables Used
1. Users Table
Purpose: To store user information and manage access control.
2. Products Table
Purpose: To manage the menu items offered by the restaurant.
3. Categories Table
Purpose: To organize products into distinct categories for easier management and display.
4. Bills Table
Purpose: To track billing details for customer orders.
13 | P a g e
10. ER Diagram
14 | P a g e
11. Use Case Diagram
15 | P a g e
12.Flowchart
16 | P a g e
13.Swing Classes and Methods Used in Restaurant Management
System
Swing Classes
1. JFrame
Methods:
o setTitle(String title)
o setSize(int width, int height)
o setVisible(boolean visible)
o setDefaultCloseOperation(int operation)
2. JPanel
Methods:
o setLayout(LayoutManager layout)
o add(Component comp)
o setBackground(Color color)
3. JButton
Methods:
o setText(String text)
o addActionListener(ActionListener l)
4. JLabel
Methods:
o setText(String text)
17 | P a g e
5. JTextField
Methods:
o setText(String text)
o getText()
6. JTextArea
Methods:
o setText(String text)
o getText()
o setEditable(boolean editable)
7. JComboBox
Methods:
o addItem(Object item)
o getSelectedItem()
8. JTable
Methods:
o setModel(TableModel model)
o getValueAt(int row, int column)
9. JOptionPane
Methods:
o showMessageDialog(Component parent, Object message)
o showConfirmDialog(Component parent, Object message)
18 | P a g e
JDBC Classes and Methods Used
JDBC Classes
1. DriverManager
Methods:
o getConnection(String url, String user, String password)
2. Connection
Methods:
o createStatement()
o prepareStatement(String sql)
o close()
3. Statement
Methods:
o executeUpdate(String sql)
o executeQuery(String sql)
o close()
4. ResultSet
Methods:
o next()
o getString(String columnLabel)
o getInt(String columnLabel)
o close()
19 | P a g e
14.Output and Test case
Signup page
Pre-Requirement Internet
Browser
Environment Setup Windows 11
20 | P a g e
Test Test Test Test Input Expected Result Actual Result Status Comments
Case Scenario Steps
ID
TC001 All fields 1.Naviga Name: <br>Email "Save" button "Save" button
empty, te to the ID: should be is disabled. Pass No issues
"Save" "Sign Address: disabled. found.
button Up" <br>Mobile No:
not page. Password:
enabled 2. Leave <br>Security
all fields Question:
empty. Answer: ``
1.Naviga Name: <br>Email Error message
TC002 All fields te to the ID: Error message displayed. Pass No issues
empty, "Sign Address: indicating all found.
validation Up" <br>Mobile No: fields are required
message page. Password:
displayed 2. Leave <br>Security
all fields Question:
empty. Answer: `
3.
Attempt
to click
"Save".
1.Naviga
TC003 Focus on te to the Name: <br>Email "Save" button "Save" button No issues
the "Sign ID: remains disabled remains Pass found.
"Save" Up" Address: and is not disabled.
button page. <br>Mobile No: clickable.
when 2. Leave Password:
fields are all fields <br>Security
empty empty. Question:
3. Check Answer: ``
the status
of
"Save".
1.Naviga "Save" button
TC004 Page te to the "Save" button is disabled No issues
refresh "Sign Name: <br>Email should still be after refresh. Pass found.
with Up" ID: disabled after
empty page. Address: refresh.
fields 2. Leave <br>Mobile No:
all fields Password:
empty. <br>Security
3. Question:
Refresh Answer: ``
the page.
21 | P a g e
Admin Login
Pre-Requirement Internet
Browser
Environment Setup Windows 11
22 | P a g e
Test Test Test Test Input Expected Result Actual Result Status Comments
Case Scenario Steps
ID
TC001 Valid 1. Open
Admin login Email: Admin is Admin is Pass Admin
Login page admin@gmail.com redirected to the redirected to functionalit
2. Enter Password: home page with the home page ies
admin AdminPassword12 options to add accessible.
email 3 category, add new
and product, and
password view/update/delet
3. Click e products.
on login
1. Open
TC002 Invalid login Email: Error message: Error message Pass Proper
Admin page invalidadmin@exa "Invalid email or displayed validation
Email 2. Enter mple.com password." correctly. for admin
invalid Password: email
admin AdminPassword12 format.
email 3
3. Enter
valid
password
4. Click
on login
1. Open
TC003 Admin login Email: (empty) Error message: Error message System
Login page Password: (empty) "Email and displayed Pass prompts
with 2. Leave password correctly for missing
Empty admin required." fields..
Fields email
and
password
empty
3. Click
on login.
23 | P a g e
Forgot Password
24 | P a g e
Module Name Add category
Pre-Requirement Internet
Browser
Environment Setup Windows 11
Created Date 30/09/2024
Current Time 10.30 Am
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Save 1.
Button Navigate "Save" button is Pass UI works
Disabled to "Add Category Name: disabled. "Save" button as expected
on Empty Category" (empty) is disabled for empty
Field page. field.
2. Leave
the
category
name field
empty.
3. Check
the state of
the "Save"
button.
Save 1.Navigate
TC002 Button to "Add Category Name: Pass System
Enabled Category" "Beverages" "Save" button is "Save" button activates
on Valid page. enabled. is enabled. the button
Input 2. Enter a for valid
valid input.
category
name.
3. Check
the state of
the "Save"
button.
1.
TC003 Save Navigate "Save" button is "Save" button Validation
Button to "Add Category Name: disabled. is disabled Pass correctly
Disabled Category" "App@2024" disables
on page. the button
Invalid 2. Enter for invalid
Input invalid input.
characters
(e.g.,
special
characters
).
3. Check
the state of
the "Save"
button.
25 | P a g e
Delete Category from Restaurant
26 | P a g e
Module Name Add product in category
Pre-Requirement Internet
Browser
Environment Setup Windows 11
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Add 1.Navigate Category: Product is added
Product to the "Beverages" successfully to the Product added Pass Functionali
with "Add New Product Name: selected category, successfully ty works as
Valid Product" "Coke" and a intended.
Input page. Price: 1.50 confirmation
2. Select a Description: message is
category. "Chilled soft displayed.
3. Enter drink."
valid
product
details
(name,
price,
descriptio
n).
4. Click
"Save."
Add 1.Navigate Category: Validation
TC002 Product to the "Snacks" Error message: Error message Pass for empty
with "Add New Product Name: "Product name displayed fields
Empty Product" (empty) and price are correctly works.
Fields page. Price: (empty) required."
2. Select a
category.
3. Leave
product
name and
price
empty.
4. Click
"Save."
27 | P a g e
Update Product
Delete Product
28 | P a g e
Module Name Add product in category
Pre-Requirement Internet
Browser
Environment Setup Windows 11
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Update 1. Product details are
Product Navigate Product Name: updated Product Pass Update
with to the "Coke" successfully updated functionalit
Valid product New Price: 1.75 successfully y works as
Input list. intended.
2. Select a
product.
3. Click
"Edit."
4. Update
product
details.
5. Click
"Save.
1. Product Name: Viewing
TC002 View Navigate "Coke" Product details are Product Pass functionalit
Product to the displayed details y works as
Details product correctly. displayed intended.
list.
2. Select a
product.
3. Click
"View."
Delete 1. Product Name: Product Deletion
TC003 Product Navigate "Coke" Message: deleted process
with to the "Product deleted successfully Pass works
Confirma product successfully." The correctly.
tion Price list. product is
2. Select a removed from the
product. list.
3. Click
"Delete."
4. Confirm
by
clicking
"Yes."
29 | P a g e
Verify user and change status
Pre-Requirement Internet
Browser
Environment Setup Windows 11
Created Date 30/09/2024
Current Time 10.30 Am
30 | P a g e
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Verify 1. Status is changed
User and Navigate User: to "True" (or Pass Functionali
Change to the user "john.doe@exam "False"), and a Status ty works as
Status list. ple.com" confirmation changed intended..
2. Search message is successfully
for a user. displayed.
3. Click on
the user in
the JTable.
4. Confirm
the status
change by
clicking
"Yes."
1.Navigate Cancelling
TC002 Cancel to the user User: Status remains Status Pass change
Status list. "jane.doe@examp unchanged, and no remains functions
Change 2. Search le.com" message is unchanged correctly.
for a user. displayed.
3. Click on
the user in
the JTable.
4. Click
"No" on
the status
change
confirmati
on.
Verify 1. System
TC003 Non- Navigate User: Error message: Error message handles
Existent to the user "nonexistent@exa "User not found." displayed Pass non-
User list. mple.com" existent
2. Search user
for a user correctly.
that does
not exist.
3. Attempt
to click on
the user in
the JTable.
31 | P a g e
Place Order
32 | P a g e
Module Name Order Placed
Testcase Description To check the functionality order placed and bill details
added successfully.
Pre-Requirement Internet
Browser
Environment Setup Windows 11
33 | P a g e
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Place 1. Items: "Pizza", Order is placed Order placed
Order Navigate "Salad" successfully, and a successfully Pass Order
with to the Quantity: 2, 1 confirmation placement
Valid menu. message is works as
Items 2. Select displayed. intended.
items to
order.
3. Click
"Place
Order."
4. Confirm
order
details.
1. Place an
order. Bill
TC002 Generate Order ID: 12345 Bill is generated Bill Pass
Bill After 2. Click on with the correct generatio
generated n
Order "Generate details and total successfully
Bill." functions
amount.
3. Confirm correctly.
bill .
generation
.
Place 1.
TC003 Order Navigate item: "Steak" (out Error message: Error message System
with to the handles
of stock) "Item is out of displayed Pass
Insufficie menu. out-of-
stock."
nt Items 2. Select stock
an item items
that is out correctly.
of stock.
3. Click
"Place
Order."
34 | P a g e
View Bills and Order Placed Details
Change Password
35 | P a g e
Module Name Change Password
Pre-Requirement Internet
Browser
Environment Setup Windows 11
Created Date 30/09/2024
Current Time 10.30 Am
Test Test Test Steps Test Input Expected Result Actual Result Status Comments
Case Scenario
ID
TC001 Change 1.Navigate Current Password: Password No issues
Password
password to the OldPassword123 successfully Pass found.
changed
with valid "Change New Password: changed message
successfully
current Password" NewPassword456 is displayed.
message
and new page. Confirm New
displayed.
password 2. Enter Password:
valid NewPassword456
current
password.
3. Enter
valid new
password.
4. Confirm
new
password.
5. Click
"Submit"
1.Navigate No issues
TC002 Change to the Current Password: Error message Pass found.
Error
password "Change Wrong Password indicating current
message:
with an Password" New Password: password is
"Current
incorrect page. NewPassword456 incorrect.
password is
current 2. Enter Confirm New
incorrect."
password incorrect Password:
current NewPassword456
password.
3. Enter
valid new
password.
4. Confirm
new
password.
5. Click
"Submit".
36 | P a g e
Change Security Question
Pre-Requirement Internet
Browser
Environment Setup Windows 11
37 | P a g e
Test Test Test Steps Test Input Expected Result Actual Result Status Comment
Case Scenario s
ID
TC001 Change 1.Navigate Current Password: Security question Security
security to the ValidPassword12 changed question Passe No issues
question "Change 3 successfully changed d found.
with valid Security New Question: message is successfully
credential Question" What is your pet's displayed. message
s page. name? displayed.
2. Enter Answer: Fluffy
valid
current
password.
3. Select
new
security
question.
4. Provide
answer.
5. Click
"Submit".
1.Navigate
to the No issues
TC002 Change Current Password: Error message Error Pass
security "Change WrongPassword indicating the found.
message:
question Security New Question: current password "Current .
with Question" What is your is incorrect. password is
incorrect page. favorite color? incorrect."
password 2. Enter Answer: Blue
incorrect
current
password.
3. Select
new
security
question.
4. Provide
answer.
5. Click
"Submit".
Change 1.Navigate
security to the No issues
TC003 Current Password: Error message Error
question "Change found.
ValidPassword12 indicating a message: Passed
without Security 3 security question "Please select
selecting Question" New Question: `` must be selected." a security
a page. Answer: Fluffy question."
question 2. Enter
valid
current
password.
3. Leave
security
question
blank.
4. Provide
answer.
5. Click
"Submit".
38 | P a g e
15. Conclusion
The Restaurant Management System (RMS) project has effectively created a streamlined solution for
managing restaurant operations. By using Java's Swing framework for the user interface and JDBC
for database connectivity, the system allows users to efficiently handle tasks such as managing
categories, adding products, processing orders, and generating bills.
This project successfully addresses the core needs of both administrators and staff. Admins can
control user access and manage product information, while staff can easily place orders and view
billing details. The clear database structure, defined through the Entity-Relationship Diagram (ERD),
ensures that data is organized and accessible.
Looking ahead, there are opportunities for improvements, such as integrating online ordering and
enhancing security features. Overall, the RMS not only simplifies daily operations but also positions
restaurants to adapt to changing customer demands. This project demonstrates how technology can
improve efficiency and customer service in the restaurant industry.
16. References
Online Resources
1. Oracle Java Documentation
o Java SE Documentation
o Official documentation for Java SE, including Swing and JDBC classes.
2. TutorialsPoint - Java Swing
o Java Swing Tutorial
o A comprehensive tutorial covering various components and functionalities of Swing.
3. Baeldung - JDBC with MySQL
o JDBC with MySQL
o A guide on how to connect Java applications to MySQL using JDBC.
4. GeeksforGeeks - JDBC Tutorial
o JDBC Tutorial
o Provides tutorials and examples for using JDBC in Java applications.
39 | P a g e