Skip to content

A Python-based coffee machine simulator that manages ingredient stock, processes user orders, and handles exceptions such as out-of-stock situations. Designed to demonstrate basic object-oriented programming, exception handling, and user interaction in a console application.

Notifications You must be signed in to change notification settings

shaikhf04/CoffeeMachineMiniProjectGUI

Repository files navigation

CoffeeMachineMiniProjectGUI β˜•

A GUI-based coffee machine simulator built in Python using the tkinter library, designed to provide a realistic and interactive coffee ordering experience. The application features ingredient stock management, intuitive user interface with dynamic screens, and automated billing. Built with a modular and object-oriented design, it also incorporates a custom logger that tracks user actions and system events in log files β€” ensuring a practical and production-ready solution.

πŸ“Œ Key Concepts Demonstrated

  • πŸ”Ή Object-Oriented Programming (OOP)
  • πŸ”Ή Custom Exception Handling
  • πŸ”Ή Stock and Inventory Management
  • πŸ”Ή Logging to file for user actions and errors
  • πŸ”Ή User interaction via Terminal and Tkinter GUI
  • πŸ”Ή Clean, modular, and extensible code structure

πŸš€ Features

  • βœ… Checks ingredient availability before making coffee
  • ⚠️ Raises custom exceptions on insufficient stock
  • πŸ“ Logs important events and errors
  • πŸ’¬ Interactive menu and GUI interface for coffee orders
  • πŸ’° Handles billing and price calculations in a modular way
  • πŸ”„ Easy to extend with new coffee recipes or UI features

Coffee Machine Mini Project β˜•

πŸ› οΈ How to Run the Project

  1. βœ… Ensure Python 3.x is installed:

    python --version
    
  2. πŸ“₯ Clone this repository:

    git clone https://github.com/shaikhf04/CoffeeMachineMiniProjectGUI.git
    cd CoffeeMachineMiniProjectGUI
  3. ▢️ Run the app:

    python WelcomeFrame.py
    

πŸ“ Project Structure

CoffeeMachineMiniProjectGUI/
β”œβ”€β”€ assets/                # Images, icons, and other media assets for the GUI
β”œβ”€β”€ backend/               # Core backend logic (coffee making, stock management, exceptions)
β”œβ”€β”€ data/                  # Data files such as ingredient lists, recipes, and pricing
β”œβ”€β”€ gui/                   # GUI-related modules and frames built using Tkinter
β”œβ”€β”€ logs/                  # Automatically generated log files for user activity and errors
β”œβ”€β”€ main.py                # Main entry point for running the GUI application
β”œβ”€β”€ requirements.txt       # Python dependencies and versions required for the project
β”œβ”€β”€ README.md              # Project documentation (this file)
└── .gitignore             # Specifies files/folders to ignore in Git version control

About

A Python-based coffee machine simulator that manages ingredient stock, processes user orders, and handles exceptions such as out-of-stock situations. Designed to demonstrate basic object-oriented programming, exception handling, and user interaction in a console application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages