Skip to content

mathisloge/cocktail-maker

Repository files navigation

🍸 Cocktail Maker

Cocktail Maker is a modern Qt-based desktop application for creating and managing cocktail recipes — and even controlling real-world hardware to mix your drinks automatically!


🧭 Overview

This project combines C++23, Qt, and a range of modern C++ libraries to deliver a sleek, responsive, and extensible cocktail-making experience.


🎥 Demo

Watch a short demo on YouTube: 👉 https://youtu.be/46x27AaOHKw

Watch the demo


🧩 Features

  • 🥃 Choose cocktail recipes
  • 🧠 Safe and type-checked units with mp-units
  • ⚡ Asynchronous hardware control using boost::asio
  • 💡 GPIO control with libgpiod
  • 💬 Fast and structured logging via spdlog
  • 🎨 Responsive UI built with Qt
  • 🧪 Comprehensive testing using catch2 and quite for UI tests

📚 Contribute Recipes

Want to expand the cocktail collection? Add your recipes here: ➡️ recipes directory


🛠️ Technologies Used

Purpose Library / Framework
Language C++23
UI Qt
Async I/O Boost.Asio
GPIO Control libgpiod
Units & Safety mp-units
Logging spdlog
Formatting fmt
Testing Catch2, quite

🚀 Getting Started

Clone the repository

  1. Download vcpkg and set the environment variable VCPKG_ROOT.

Then:

git clone https://github.com/mathisloge/cocktail-maker.git
cd cocktail-maker
cmake --workflow production

Afterwards install the generated .deb package and run cocktail-maker.

Hardware setup

TBD

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published