Project Report On
RESTAURANT MANAGEMENT SYSTEM
Submitted In Partial Fulfillment of the Requirement
For The Award of Diploma
In "Computer Science and Engineering" of
GPO college of Diploma , Dharashiv
Affiliated to
Maharashtra Technical Board Of Education
Submitted By
Pooja Sarphale
Under The Guidance of
Mr. A.B. Gaikwad Sir
Page | 1
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION, MUMBAI
GOVERNMENT POLYTECHNIC DHARASHIV
-: CERTIFICATE: -
This is to certify that the micro project entitled-
RESTAURANT MANAGEMENT SYSTEM
Submitted by :- Pooja Sarphale Roll no:- 26 in fifth semester of diploma in
computer engineering has completed micro project satisfactorily in the
course Advance JAVA Programming academic year 2024-2025 as prescribed
in the curriculum.
Place: Dharashiv Enrollment No-2201180227
Date: / /2024 Exam Seat No-398714
Head of the Dep Under Guidance of Principal
Mr. A.B Gaikwad Mr. A.B Gaikwad Mr. S.LAndhare
Page | 2
MAHARASHTRA STATE BOARD OF
TECHNICAL EDUCATION, MUMBAI
GOVERNMENT POLYTECHNIC DHARASHIV
Micro project title :-
RESTAURANT MANAGEMENT SYSTEM
Submitted by :- Sarphale Pooja
Roll No Name of student Enrollment no. Seat no.
26 Pooja Sarphale 2201180227 398714
Page | 3
ACKNOWLEDGMET
I take this opportunity to express my profound gratitude and deep regards
to my guide Mr. A.B. Gaikwad Sir (Head of Dept) for his exemplary
guidance, monitoring and constant encouragement throughout the course
of this project. The blessing, help and guidance given by him from time to
time shall carry me a long way in the journey of life on which I am about
to embark.
I am obliged to staff members of Government Polytechnic Dharashiv, for the
valuable information provided by them in their respective fields. I am grateful
for their cooperation during the period of my assignment.
Lastly, I thank Almighty, my parents and my classmates for their constant
encouragement without which this assignment would not have been possible.
Your sincerely
Pooja Sarphale
Page | 4
INDEX
Sr no Title Page no.
1 Rationale 6
2 Aim of the micro project 6
3 Course outcomes addressed 6
5 Actual Methodology 7
6 Source Code 8-12
7 Output of the Project 12-13
8 Skill developed/learning out of this micro 14
project
9 Application 14
11 Conclusion 15
12 References 16
Page | 5
1. Rationale:
The rationale for developing a Restaurant Management System stems from
the need for a streamlined process for managing orders in a restaurant
setting. Traditional methods, such as paper order sheets, can lead to errors
and inefficiencies. This project aims to provide an intuitive interface that
facilitates order selection, summarization, and confirmation, enhancing the
overall dining experience for both customers and staff.
2. Aim of the micro project:-
The primary aim of this micro project is to create a user-friendly Java-based
application that allows users to select menu items, view an order summary, and
finalize their orders. The application should demonstrate the ability to manage a
simple ordering system effectively.
3. Course outcomes addressed:-
This micro project addresses several key course outcomes, including:
1. Understanding of Java Swing: Students will learn how to create
graphical user interfaces (GUIs) using Java Swing components.
2. Application Development Skills: It fosters skills in designing and
implementing a functional application.
3. Object-Oriented Programming: The project emphasizes the use of
classes and objects through the MenuItem class.
4. Event Handling: Students will gain experience with event-driven
programming through the use of ActionListeners
Page | 6
5. Actual methodology: -
1. Requirement Analysis: Gather requirements for the restaurant
management system, identifying core functionalities.
2. Design: Plan the application structure, including GUI layout and class
design.
3. Development: Implement the application using Java Swing for the GUI
and standard Java collections for managing orders.
4. Testing: Test the application for usability, ensuring that all features
function as intended.
5. Deployment: Prepare the application for use, ensuring that it is easy to
run and maintain.
Page | 7
6. Source Code
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
class RestaurantManagementSystem extends JFrame {
private List<MenuItem> selectedItems;
private JTextArea orderSummary;
public RestaurantManagementSystem() {
selectedItems = new ArrayList<>();
setTitle("Restaurant Management System");
setSize(400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// Set a light background color
getContentPane().setBackground(new Color(255, 255, 255)); // White background
// Create a panel for buttons
JPanel panel = new JPanel();
panel.setOpaque(false);
panel.setLayout(new GridLayout(0, 1, 10, 10)); // Added spacing between buttons
// Add menu item buttons
Page | 8
addMenuItemButtons(panel);
// Finish Order Button
JButton finishOrderButton = new JButton("Finish Order");
finishOrderButton.setFont(new Font("Arial", Font.BOLD, 14));
finishOrderButton.setBackground(new Color(0, 102, 204));
finishOrderButton.setForeground(Color.WHITE);
finishOrderButton.addActionListener(e -> finishOrder());
panel.add(finishOrderButton);
// Reset Order Button
JButton resetOrderButton = new JButton("Reset Order");
resetOrderButton.setFont(new Font("Arial", Font.BOLD, 14));
resetOrderButton.setBackground(new Color(255, 51, 51));
resetOrderButton.setForeground(Color.WHITE);
resetOrderButton.addActionListener(e -> resetOrder());
panel.add(resetOrderButton);
// Order Summary Text Area
orderSummary = new JTextArea();
orderSummary.setOpaque(false);
orderSummary.setEditable(false);
orderSummary.setFont(new Font("Arial", Font.PLAIN, 14));
orderSummary.setForeground(Color.BLACK);
JScrollPane scrollPane = new JScrollPane(orderSummary);
scrollPane.setOpaque(false);
scrollPane.getViewport().setOpaque(false);
Page | 9
add(panel, BorderLayout.CENTER);
add(scrollPane, BorderLayout.SOUTH);
}
private void addMenuItemButtons(JPanel panel) {
String[] menuItems = {"Burger - ₹490", "Pizza - ₹737", "Pasta - ₹615", "Salad - ₹410"};
double[] prices = {490, 737, 615, 410};
for (int i = 0; i < menuItems.length; i++) {
String item = menuItems[i];
double price = prices[i];
JButton button = new JButton(item);
button.setFont(new Font("Arial", Font.PLAIN, 14));
button.setBackground(new Color(204, 204, 255)); // Light blue background for buttons
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectedItems.add(new MenuItem(item.split(" - ")[0], price));
updateOrderSummary();
}
});
panel.add(button);
}
}
private void updateOrderSummary() {
StringBuilder summary = new StringBuilder("Your Order:\n");
double total = 0;
for (MenuItem item : selectedItems) {
summary.append("- ").append(item.getName()).append("\n");
total += item.getPrice();
}
Page | 10
summary.append(String.format("Total: ₹%.2f", total));
orderSummary.setText(summary.toString());
}
private void finishOrder() {
JOptionPane.showMessageDialog(this, orderSummary.getText(), "Order Summary",
JOptionPane.INFORMATION_MESSAGE);
resetOrder();
}
private void resetOrder() {
selectedItems.clear();
orderSummary.setText("");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
RestaurantManagementSystem frame = new RestaurantManagementSystem();
frame.setVisible(true);
});
}
}
class MenuItem {
private String name;
private double price;
public MenuItem(String name, double price) {
this.name = name;
Page | 11
this.price = price;
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}
7. Output of the Project:-
Page | 12
Page | 13
8. Skill developed/learning out of this micro project:-
1. Programming Proficiency: Enhanced Java programming skills, particularly with
Swing.
2. Problem-Solving: Improved ability to design a solution to meet specified
requirements.
3. UI Design: Gained insights into user interface design principles.
4. Object-Oriented Design: Solidified understanding of OOP principles through class
design.
9. Application:-
The Restaurant Management System can be applied in various real-world scenarios:
• Restaurant Operations: Streamlining the ordering process in restaurants
or cafes.
• Training Tool: A useful tool for training new staff in managing orders.
• Prototype Development: Can serve as a basis for more complex
restaurant management software with inventory, billing, and customer
relationship management features.
Page | 14
11. Conclusion:-
The Restaurant Management System successfully meets its objectives of
providing a user-friendly interface for managing food orders. The project not
only enhances the understanding of Java Swing and GUI development but
also illustrates the importance of software in improving operational
efficiency in restaurants. Future enhancements could include adding features
like user authentication, detailed reporting, and integration with payment
systems.
Page | 15
12. References:-
https://www.w3schools.com/css/
https://fonts.google.com/knowledge/using_type/using_web_fonts
https://designmodo.com
https://wwb.dev > learn > css
Page | 16