Skip to content

Latest commit

Β 

History

History
75 lines (49 loc) Β· 2.16 KB

File metadata and controls

75 lines (49 loc) Β· 2.16 KB

🍸 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