https://github.com/nivasharmaa/ruhungry
Java-based restaurant management simulation involving menu, stock, transactions, and guest seating. Utilizes hash tables, linked lists, queues, and OOP principles. Features include menu and stock management, order processing, donations, and transaction recording.
https://github.com/nivasharmaa/ruhungry
file-io hash-tables java linked-lists menu-management object-oriented-programming queues restaurant-management seating-guests stock-management transactions
Last synced: 8 months ago
JSON representation
Java-based restaurant management simulation involving menu, stock, transactions, and guest seating. Utilizes hash tables, linked lists, queues, and OOP principles. Features include menu and stock management, order processing, donations, and transaction recording.
- Host: GitHub
- URL: https://github.com/nivasharmaa/ruhungry
- Owner: nivasharmaa
- Created: 2024-08-07T03:24:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-07T04:00:58.000Z (almost 2 years ago)
- Last Synced: 2025-01-19T09:43:25.129Z (over 1 year ago)
- Topics: file-io, hash-tables, java, linked-lists, menu-management, object-oriented-programming, queues, restaurant-management, seating-guests, stock-management, transactions
- Language: Java
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RUHungry
## Overview
RU Hungry is a Java-based restaurant management simulation where you manage a fictional restaurant by handling the menu, stock, transactions, and guests. The project involves hash tables, separate chaining, object referencing, and OOP principles. Your task is to run RU Hungry for a day by seating guests, taking orders, managing donations, and restocking the pantry.
## Features
- **Menu Management**: Create and manage the restaurant's menu using hash tables and linked lists.
- **Stock Management**: Handle the stockroom inventory with efficient searching, adding, and updating using hash tables with chaining.
- **Transactions**: Record all transactions (orders, donations, restocks) in a linked list for end-of-day receipts.
- **Seating Guests**: Efficiently seat guests based on table availability and manage the waiting queue.
- **Order Processing**: Check dish availability and process customer orders, including handling out-of-stock scenarios.
- **Donations**: Manage donations to the Rutgers Pantry, ensuring sufficient profit for donations to occur.
## Data Structures
- **1D Arrays**: For restaurant seating and menu categories.
- **Hash Tables**: For managing stock with ingredient IDs as keys.
- **Linked Lists**: For menu items, stock items, and transactions.
- **Queues**: For managing the waiting list of guests.
## Concepts Covered
- Object-Oriented Programming (OOP)
- Hash Tables and Separate Chaining
- Linked Lists and Queues
- File I/O for reading input files
- Efficient searching and updating mechanisms