A full-featured desktop application for managing a pizza and ice cream restaurant, built with Java + JavaFX. Covers user authentication, table management, reservations, delivery tracking, payment processing, and guest ratings — all through a clean, role-based interface.
Slice & Scoop is a role-based restaurant management system built as an academic Java project. The system is structured around a class hierarchy where Admin, Receptionist, and Guest all extend a base User class, giving each role a dedicated dashboard and a well-defined set of capabilities — from managing menus and staff to placing orders and submitting ratings.
- 🔐 Authentication — Login, signup, and role-based access control
- 🧑💼 Admin Dashboard — Full control over users, meals, tables, and system data
- 🍽️ Menu Management — Add, edit, and categorize meals and pricing
- 🪑 Table Management — Track availability and assignments in real time
- 📅 Reservations — Book and manage guest reservations
- 🛵 Delivery System — Handle delivery orders and driver assignments
- 💳 Payment Processing — Unified payment flow for dine-in and delivery
- ⭐ Ratings & Reviews — Guests can rate their dining experience
- 👥 Guest Portal — Browse menu, place orders, pay, and review
src/
├── models/
│ ├── User.java
│ ├── Admin.java
│ ├── Receptionist.java
│ ├── Guest.java
│ ├── Meal.java
│ ├── Table.java
│ ├── Order.java
│ ├── Reservation.java
│ ├── Delivery.java
│ ├── Payment.java
│ └── Rating.java
│
├── management/
│ ├── UnifiedUserManagement.java
│ ├── UnifiedMealManagement.java
│ ├── UnifiedTableManagement.java
│ ├── UnifiedReservationManagement.java
│ ├── DeliveryManagement.java
│ └── MealCategory.java / TableCategory.java
│
└── scenes/
├── WelcomeScene.java
├── LoginScene.java
├── SignupScene.java
├── ManagementScene.java
├── AdminDashboardScene.java
├── GuestDashboardScene.java
├── ReceptionistDashboardScene.java
├── MenuScene.java
├── StaffMenuView.java
├── PaymentScene.java
├── UnifiedDeliveryPaymentScene.java
├── DeliveryManagementScene.java
├── UnifiedDeliveryScene.java
├── ReservationScene.java
├── RatingsScene.java
└── GuestRatingScene.java
| Technology | Purpose |
|---|---|
| Java 17 | Core application logic |
| JavaFX 17+ | GUI and scene management |
| OOP Principles | Inheritance, encapsulation, polymorphism |
- Java 17 or higher
- JavaFX SDK 17+
- IntelliJ IDEA or Eclipse (with JavaFX support)
- Clone the repository:
git clone https://github.com/sal-mah/RestuarantManagementSystem.git
- Open the project in your IDE.
- Add the JavaFX SDK to your module path:
- IntelliJ:
File > Project Structure > Libraries
- IntelliJ:
- Run
Main.javawith these VM options:--module-path /path/to/javafx-sdk/lib --add-modules javafx.controls,javafx.fxml
Admin, Receptionist, and Guest all inherit from the base User class:
User
├── Admin → full system access, manages users/meals/tables/ratings
├── Receptionist → handles reservations, orders, and delivery
└── Guest → places orders, makes reservations, submits ratings
| Role | Access |
|---|---|
| Admin | Full system access, user management, reports |
| Receptionist | Reservations, orders, delivery management |
| Staff | Menu and table views |
| Guest | Browse menu, place orders, pay, rate |
| Member | GitHub | Responsibilities |
|---|---|---|
| Salma Mahmoud | @sal-mah | Management Scene · Signup Scene · Admin Dashboard · Welcome Scene · Login Scene · User & Admin models · Unified User Management |
| Habiba Aglan | @habibaAglan | Guest & Payment models · Payment Scene · Guest Dashboard · Unified Delivery Payment Scene |
| Sama Mohamed | @SamaMohamed6 | Table & Meal models · Unified Meal/Table Management · Meal & Table Categories · Menu Scene · Staff Menu View |
| Menna tu-Allah Alaa | @mennanemo | Receptionist & Delivery models · Delivery Management Scene · Unified Delivery Scene · Receptionist Dashboard Scene |
| Salma Magdy | @salmagdy | Rating, Order, Reservation models · Ratings Scene · Reservation Scene · Guest Rating Scene · Unified Reservation Management |
This project is licensed under the MIT License.