Latest release is 1.0. This file last updated on 04 March 2026. The software has been developed in Italian language for educational purposes.
BeverageHub is a Spring Boot–based web application for managing an ecosystem of hot-drink vending machines, with dedicated interfaces for the different system actors: vending machine screen, customer, maintenance operator, and system manager. The goal is to provide a complete end-to-end flow covering drink dispensing, credit management, and the main operational and administrative actions on vending machines.
The vending machine screen module provides a main page that shows the information of the user currently associated with the machine (name and credit) and an interface to select a hot drink and the desired sugar amount. The application handles dispensing by updating the credit in real time and notifying the user of the deducted amount after each purchase, providing immediate feedback on the operation.
On the customer side, BeverageHub includes login and registration flows and a main dashboard where users can view their data (including credit) and interact with vending machines through connect/disconnect operations (by entering the machine ID) and credit top-ups. The core interactions are also exposed via backend controllers, ensuring consistent behavior both through standard web navigation and asynchronous frontend requests.
For maintenance, the application offers an operational page that lets operators query the status of a specific machine by entering its ID, showing useful information such as supply levels and any abnormal conditions. The maintenance operator can also perform typical restore actions and update the machine’s operational state, supported by a backend designed to provide and update vending machine data.
Finally, the system manager has administrative features to govern the infrastructure: managing the registry of vending machines and maintenance operators, enabling/disabling machines, and consulting the overall system status. The interface also includes browsing and search tools (at least by ID, in addition to full listings), designed to make everyday control and management tasks fast and straightforward.
GNU General Public License, version 2 or later.
