Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍽️ Restaurant Ordering System – Interim Progress

SCSE1224 – Advanced Programming
Semester 2, Session 2024/2025
Lecturer: Dr. Mohd Razak bin Samingan
Group: 2 – Section 03


image MENU REFRENCE


👥 Group Members

Name Matric No.
Alfred Chin Zhan Hoong A24CS0224
Lee Ming Da A24CS0317
Gan Rui En A24CS0249
ZUO BOYU A24CS4045

📌 Table of Contents

  1. Timeline & Milestones
  2. Association Diagram
  3. Class Descriptions

📆 Timeline & Milestones

Week Date Range Milestone Description
4 7–13 April Proposal Preparation - Form group and confirm topic
- Draft system overview, function list, and class diagram
Initial Class Implementation - Design classes: Customer, MenuItem, Food, Drink, Order, OrderItem, etc.
Basic Feature Integration - Develop: menu display, item search, order placement, checkout, and receipt
File I/O & Admin Features - Implement: save/load functionality, admin login, item CRUD, sales reporting
5 14–20 April Proposal Submission - Submit CLI prototype and Java class structure
13 9–15 June Interim Submission - Implementation of proposal
- Submit updated project plan, timeline, class diagram, partial working code
15 23–29 June Testing & Finalization - Finalize features, test system, debug
- Submit video and final system

🔗 Association Diagram

Refer to the visual diagram showing class relationships and member access types. Association Diagram

Icon Description
- private
# protected
~ package-private
+ public

📘 Class Descriptions

Class Description
Customer Stores customer details (name, phone, address). Can view menus, order items, view receipts, and search items.
Admin Manages the system. Default password: admin123. Can add/edit/delete menu items and view sales reports.
Order Represents a customer's full order including order date, payment method, and receipt generation.
OrderItem Details an item in an order, including quantity.
Menu Collection of available items (food & drink), viewable by customers and managed by admin.
MenuItem A base item with name, price, description, and category (food or drink).
Food Inherits MenuItem, specific to food-type items.
Drink Inherits MenuItem, specific to drink-type items.

🍽️ Java Restaurant System - CLI Guide

Welcome to the Java Restaurant System – a command-line interface (CLI) based food ordering system for customers and administrators.


🧾 Sample Menu Items (from marrybrown_menu.txt)

1. Chicken Burger (Single) (Food) - RM4.85  
2. Lucky Plate (Combo) (Food) - RM11.90  
3. White Coffee (Drink) - RM3.25  

🔑 Main Menu Options

You will see this after launching the app:

Main Menu:
1. View Menu
2. Search Dish
3. Place Order
4. Checkout and Print Receipt
5. Admin Login (for Cashier Functions)
6. Exit

1️⃣ View Menu

Input:

Please enter your choice (1–6): 1

Output:

--- Today's Menu ---
1. Chicken Burger (Single) (Food) - RM4.85  
2. Lucky Plate (Combo) (Food) - RM11.90  
3. White Coffee (Drink) - RM3.25  

2️⃣ Search Dish

Input:

Please enter your choice (1–6): 2
Enter Dish Name to Search: coffee

Output:

Search Results:
1. White Coffee (Drink) - RM3.25

3️⃣ Place Order

Input:

Please enter your choice (1–6): 3
Enter your name: Sarah Lee  
Enter phone number: 019-1190089  
Enter address: 210-L21, KTHO, UTM JB.

System displays menu. Then:

Enter dish numbers and quantities (e.g., 1x2,3x1): 1x1,2x2,3x1

Output:

Order Summary:
- Chicken Burger (Single) x1 = RM4.85  
- Lucky Plate (Combo) x2 = RM23.80  
- White Coffee x1 = RM3.25  
Total: RM31.90

4️⃣ Checkout and Print Receipt

Input:

Please enter your choice (1–6): 4  
Proceed to checkout? (Y/N): Y  
Payment Method (Cash/Card/QR Pay/FPX Transfer): COD

Output:

Order ID: 1  
Customer Name: Sarah Lee  
Phone: 019-1190089  
Address: 210-L21, KTHO, UTM JB.  
Date: 2025-03-30  
Time: 11:30 AM  

Order Items:
1. Chicken Burger (Single) - 1 x RM 4.85  
2. Lucky Plate (Combo) - 2 x RM 11.90  
3. White Coffee - 1 x RM 3.25  

Total Amount: RM 31.90  
Payment Method: COD  
Receipt saved to receipt_1.txt

5️⃣ Admin Login

Input:

Please enter your choice (1–6): 5  
Enter Admin Password: admin123

Admin Menu:

1. Add Menu Item  
2. Remove Menu Item  
3. Edit Menu Item  
4. View Sales Report  
5. Logout  

Example: View Sales Report (4)

Output:

--- Sales Report ---
Chicken Burger (Single) - Sold: 1  
Lucky Plate (Combo) - Sold: 2  
White Coffee - Sold: 1  

6️⃣ Exit

Input:

Please enter your choice (1–6): 6

Output:

Exiting the Java Restaurant System. Goodbye!

📁 File Outputs

  • receipt_1.txt, receipt_2.txt, ... stored in working directory
  • orders.ser stores persisted orders

✅ Status

This repository is currently in the interim stage. Basic functionality and core class implementations are being finalized. Further improvements and testing will continue into Week 15.

About

SCSE1224 – Advanced Programming

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages