Skip to content

shaikhf04/CoffeeMachineMiniProject

Repository files navigation

Coffee Machine Mini Project ☕

Coffee Bot

A terminal-based coffee machine simulator built in Python, designed to emulate a realistic coffee ordering experience. The system features ingredient stock management, interactive user input, and automated billing using the global keyword. Built with a modular, object-oriented structure, it also includes a custom logger that records user activity and system errors to a log file — making it both practical and production-aware.


📌 Key Concepts Demonstrated

  • 🔹 Object-Oriented Programming (OOP)
  • 🔹 Custom Exception Handling
  • 🔹 User Interaction via CLI
  • 🔹 Custom Logger Writing to File
  • 🔹 Use of global keyword for billing management
  • 🔹 Clean and Modular Code Structure

🚀 Features

  • ✅ Validates ingredient availability before making coffee
  • ⚠️ Raises custom exceptions when ingredients are insufficient
  • 📝 Logs important events and errors to a log file via a custom logger
  • 💬 Provides a simple interactive menu for users
  • 💰 Uses the global keyword to manage and update billing across functions
  • 🔄 Easily extendable for new coffee options or features

🛠️ How to Run the Project

  1. ✅ Ensure Python 3.x is installed:

    python --version
    
  2. 📥 Clone this repository:

    git clone https://github.com/shaikhf04/CoffeeMachineMiniProject.git
    cd CoffeeMachineMiniProject
  3. ▶️ Run the app:

    python MakeCoffee.py
    

📁 Project Structure

CoffeeMachineMiniProject/
├── assets/              # Screenshots and image assets
├── classes/             # Python class files (if modularized)
├── logs/                # Log files generated by the custom logger
├── main.py              # Main script to run the application
├── README.md            # Project documentation
    ```

About

A simple 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

Packages

 
 
 

Contributors

Languages