Skip to content

CoffeHeaven ☕ is a full-featured coffee shop management system – handle orders, manage inventory, and keep your menu fresh, all in one place! Built with ❤️ for baristas, techies, and coffee lovers alike. Powered by RESTful APIs and Docker for smooth local deployment. ☕🚀

Notifications You must be signed in to change notification settings

meruyert4/CoffeHeaven

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CoffeHeaven - The Ultimate Coffee Shop Management System 💖

Ever wondered how your favorite coffee shop juggles a rush of orders, ensures they always have your favorite blend ready, and remembers your special coffee preferences? Behind the scenes, they rely on smart management systems to keep everything running smoothly. ☕💻

Introducing CoffeHeaven — a simplified version of these systems! It’s your chance to dive into the technology behind the coffee counter. With Frappuchino, you’ll be able to handle orders, manage inventory, and keep the menu up to date, just like a real coffee shop manager. Let’s make the coffee shop world even better with some cool tech! 💡


✨ Key Features of CoffeHeaven:

  • Manage Orders: Create, update, close, and delete customer orders with ease. You’ve got this! 👨‍🍳✨
  • Oversee Inventory: Keep track of stock levels to prevent shortages and ensure every cup is fresh and perfect. 📦
  • Update the Menu: Add new drinks, update prices, or add delicious new pastries to your offerings. 🍰☕

So, whether you’re brewing up a batch of lattes or tracking down that last packet of sugar, Frappuchino helps you handle it all in style! 🎉


📸 Visuals

  • Home Page:
    Home Page

  • Popular Items:
    Popular Items

  • Menu Catalog:
    Menu Catalog

🌟 API Endpoints

Orders

Method Endpoint Description Response
POST /orders Creates a new order. 🎉 201 Created
GET /orders Retrieves all orders. 😎 200 OK
GET /orders/{id} Retrieves a specific order by ID. 😄 200 OK
PUT /orders/{id} Updates an existing order. ✨ 200 OK
DELETE /orders/{id} Deletes an order. 💥 204 No Content
POST /orders/{id}/close Closes an open order. 💫 200 OK

Menu Items

Method Endpoint Description Response
POST /menu Adds a new menu item. 🍰 201 Created
GET /menu Retrieves all menu items. 📜 200 OK
GET /menu/{id} Retrieves a specific menu item. 🍽️ 200 OK
GET /menu/{id}/image Retrieves a menu item's image. 🍽️ 200 OK
PUT /menu/{id} Updates an existing menu item. ✨ 200 OK
PUT /menu/{id}/image Updates an existing menu item's image. ✨ 200 OK
DELETE /menu/{id} Deletes a menu item. 💥 204 No Content

Inventory

Method Endpoint Description Response
POST /inventory Adds a new inventory item. 🎉 201 Created
GET /inventory Retrieves all inventory items. 💡 200 OK
GET /inventory/{id} Retrieves a specific inventory item. 📦 200 OK
PUT /inventory/{id} Updates an inventory item. ✨ 200 OK
DELETE /inventory/{id} Deletes an inventory item. 💥 204 No Content

Reports and Aggregations

Method Endpoint Description Response
GET /reports/total-sales Retrieves total sales amount. 💰 200 OK
GET /reports/popular-items Retrieves a list of popular menu items. 📊 200 OK

💌 Request Examples

Create/Update Order Request:

POST /orders
Content-Type: application/json

{
    "customer_name": "Tyler Derden",
    "items": [
        {
            "product_id": "latte",
            "quantity": 2
        },
        {
            "product_id": "muffin",
            "quantity": 1
        }
    ]
}

Add/Update Menu Item Request:

POST /menu
Content-Type: application/json

{
    "product_id": "latte",
    "name": "Caffe Latte",
    "description": "Espresso with steamed milk",
    "price": 3.5,
    "ingredients": [
        {
            "ingredient_id": "espresso_shot",
            "quantity": 1
        },
        {
            "ingredient_id": "milk",
            "quantity": 200
        }
    ]
}

Add/Update Inventory Item Request:

POST /inventory
Content-Type: application/json

{
    "ingredient_id": "espresso_shot",
    "name": "Espresso Shot",
    "quantity": 490,
    "unit": "shots"
}

Total Sales Aggregation Response:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "total_sales": 29
}

🚀 How to Run

To get CoffeHeaven up and running locally with Docker, follow these steps:

  1. Make sure you have Docker installed on your machine.
  2. Clone the repository to your local machine.
  3. Open a terminal and navigate to the project folder.
  4. Run the following command to build and start the application:
docker-compose up --build

This will set up all the necessary containers and get the app running on your local machine.


🏅 Authors:

This project has been brought to you with love by:

  • Meruyert 💻
  • Aida 🌟

About

CoffeHeaven ☕ is a full-featured coffee shop management system – handle orders, manage inventory, and keep your menu fresh, all in one place! Built with ❤️ for baristas, techies, and coffee lovers alike. Powered by RESTful APIs and Docker for smooth local deployment. ☕🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published