Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kivanc57/restaurant_management
This Python application simulates a restaurant management system. It handles table booking, menu display, order processing, and payment management. The Restaurant class integrates these features, allowing interaction through a command-line interface.
https://github.com/kivanc57/restaurant_management
finance oop python restaurant-management
Last synced: about 1 month ago
JSON representation
This Python application simulates a restaurant management system. It handles table booking, menu display, order processing, and payment management. The Restaurant class integrates these features, allowing interaction through a command-line interface.
- Host: GitHub
- URL: https://github.com/kivanc57/restaurant_management
- Owner: kivanc57
- License: gpl-3.0
- Created: 2024-07-22T11:14:25.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-01T10:56:29.000Z (5 months ago)
- Last Synced: 2024-08-02T01:47:05.629Z (5 months ago)
- Topics: finance, oop, python, restaurant-management
- Language: Python
- Homepage:
- Size: 53.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Restaurant Management System
## Overview
**Restaurant Management System** is a Python-based application designed to simulate the management of a restaurant. It features functionalities for displaying a menu, taking orders, booking tables, and processing payments. The system also handles basic restaurant operations like updating menu items and checking customer budgets.## Features
๐ **Menu Management** ๐
* Display and update the restaurant menu.
โจ **Table Reservation** โจ
* Book tables and manage table availability.
๐ง **Order Handling** ๐ง
* Take customer orders and manage customer-specific requests.
๐ธ **Payment Processing** ๐ธ
* Handle transactions and manage customer budgets.## Installation
1. **Clone the repository**:
```bash
git clone https://github.com/yourusername/restaurant_management_system.git
```2. **Navigate to the project directory**:
```bash
cd restaurant_management_system
```3. **Install any required dependencies (if applicable)**.
```bash
pip install -r requirements.txt
```## Usage
1. Ensure you have Python 3.x installed.2. Run the application by executing:
```bash
python main.py
```3. Follow the on-screen prompts to book a table, view the menu, place orders, and process payments.
## Project Structure
```markdown
๐ project-root
โ
โโโ ๐ src
โ โโโ ๐ __init__.py
โ โโโ ๐ constants.py
โ โโโ ๐ restaurant.py
โ
โโโ ๐ .gitignore
โโโ ๐ .gitattributes
โโโ ๐ main.py
```* **src/**: Contains source code files.
* ***\__init__.py***: Initializes the source package and sets up logging.
* ***constants.py***: Defines constants used throughout the application.
* ***restaurant.py***: Contains the `Restaurant` class with methods for managing restaurant operations.
* **.gitignore**: Specifies files and directories to be ignored by Git (e.g., virtual environments, build artifacts).
* **.gitattributes**: Ensures consistent line endings across different operating systems in the repository.
* **main.py**: The entry point of the application. It initializes the restaurant system, handles table booking, menu display, order taking, and payment processing. It provides a complete flow from starting the application to completing a transaction.## Code Example
๐๏ธ **Menu Management** ๐๏ธ -> The `print_menu` method in `Restaurant` displays the current menu๐ฝ๏ธ **Table Reservation** ๐ฝ๏ธ -> The `book_table` method allows for reserving a table
๐งพ **Order Handling** ๐งพ -> The `get_order` and `print_order_details` methods handle and display customer orders.
๐ณ **Payment Processing** ๐ณ -> The `get_payment` method processes the customer's payment.
## Code Example
### Main Program
```python
from src.constants import MENU_ITEMS, TABLES, CUSTOMER_ORDERS, CUSTOMER_BUDGET
from src.restaurant import Restaurantdef main():
menu_items = MENU_ITEMS
tables = TABLES
customer_orders = CUSTOMER_ORDERS
customer_budget = CUSTOMER_BUDGETprint("Welcome to my restaurant, Sir\n")
# Initialize the Restaurant object
my_restaurant = Restaurant(menu_items, tables, customer_orders, customer_budget)
# Display available tables and book a table
print("Checking table availability...")
my_restaurant.book_table()
# Display the current menu
print("Displaying the menu...")
my_restaurant.print_menu()
# Get orders from the user
print("Taking customer orders...")
my_restaurant.get_order()
# Display details of the order
print("Displaying order details...")
my_restaurant.print_order_details()
# Process payment
print("Processing payment...")
my_restaurant.get_payment()# Final message
print("Thank you for visiting our restaurant. Have a great day!")if __name__ == '__main__':
main()```
## License
This project is licensed under the GNU General Public License v3.0 (GPL-3.0) - see the [LICENSE](https://github.com/kivanc57/restaurant_management/blob/main/README.md) file for details.
## Contact
Let me know if there are any specific details youโd like to adjust or additional sections you want to include!
* **Email**: [email protected]
* **Version**: 1.0.0
* **Date**: 22-06-2024