A Java-based desktop application for managing meal plans, menu items, orders, and billing — all in one system.
The Meal Management System is a Java desktop application designed to streamline the management of meals in cafeterias, hostels, mess halls, or small restaurants. It provides a complete solution for handling menu items, daily meal plans, user accounts, orders, and billing — all through an intuitive graphical interface.
Built as an academic project using Java with a database backend, the system demonstrates practical application of OOP principles, GUI development, and database management.
| Feature | Description |
|---|---|
| 🍱 Menu Management | Add, edit, delete, and view meal items |
| 📅 Daily Meal Planning | Schedule meals for breakfast, lunch, dinner |
| 🛒 Order Management | Place and track meal orders |
| 👤 User Management | Register users and manage accounts |
| 💰 Billing System | Calculate and generate meal bills |
| 📊 Reports | View daily/weekly meal summaries |
| 🔐 Admin Panel | Secure login for administrators |
| 🗄️ Database Storage | All data stored persistently in database |
┌─────────────────────────────────────────────────┐
│ Meal Management System │
├──────────────┬──────────────┬───────────────────┤
│ 👤 User │ 🍱 Menu │ 📅 Meal Plan │
│ Module │ Module │ Module │
├──────────────┼──────────────┼───────────────────┤
│ 🛒 Order │ 💰 Billing │ 📊 Reports │
│ Module │ Module │ Module │
└──────────────┴──────────────┴───────────────────┘
│
[MySQL / SQLite Database]
| Technology | Purpose |
|---|---|
| Java (JDK 8+) | Core programming language |
| Java Swing / AWT | GUI (Graphical User Interface) |
| MySQL / SQLite | Database for persistent storage |
| JDBC | Java Database Connectivity |
| NetBeans / IntelliJ IDEA | Development IDE |
Meal-Management-System/
│
└── meal management system/
├── src/
│ ├── main/
│ │ └── Main.java # Application entry point
│ ├── ui/
│ │ ├── LoginFrame.java # Login screen
│ │ ├── DashboardFrame.java # Main dashboard
│ │ ├── MenuPanel.java # Menu management UI
│ │ ├── OrderPanel.java # Order management UI
│ │ └── BillingPanel.java # Billing UI
│ ├── model/
│ │ ├── Meal.java # Meal data model
│ │ ├── Order.java # Order data model
│ │ └── User.java # User data model
│ └── database/
│ └── DBConnection.java # Database connector
├── database/
│ └── meal_management.sql # Database schema
└── README.md
- Java JDK 8 or higher
- MySQL or SQLite installed
- NetBeans IDE or IntelliJ IDEA (recommended)
- JDBC Driver for MySQL
1. Clone the repository
git clone https://github.com/naimurhamim/Meal-Management-System.git
cd Meal-Management-System2. Import Database
-- Open MySQL and run:
CREATE DATABASE meal_management;
USE meal_management;
SOURCE meal_management.sql;3. Configure Database Connection
Open DBConnection.java and update:
String url = "jdbc:mysql://localhost:3306/meal_management";
String user = "your_username";
String password = "your_password";4. Run the Application
- Open the project in NetBeans or IntelliJ IDEA
- Build the project → Run
▶️
| Role | Username | Password |
|---|---|---|
| Admin | admin |
admin123 |
| User | user |
user123 |
⚠️ Change default passwords after first login!
-- Core Tables
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
password VARCHAR(100),
role ENUM('admin', 'user')
);
CREATE TABLE meals (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
category VARCHAR(50),
price DECIMAL(10,2),
available BOOLEAN
);
CREATE TABLE orders (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
meal_id INT,
quantity INT,
order_date DATE,
total DECIMAL(10,2)
);- Online ordering via web interface
- Nutritional information tracking per meal
- Monthly billing and subscription plans
- SMS/email notification for order confirmation
- Mobile app (Android) version
- Inventory management for ingredients
- Analytics dashboard with charts
MD Naimur Rashid
Department of Internet of Things and Robotics Engineering
University of Frontier Technology, Bangladesh (UFTB)