Maintaining Smart Vending Machines Around The Globe
Our team has developed a solution for the client to be able to manage vending machines around the globe in an easy way.
Our team has developed a solution for the client to be able to manage vending machines around the globe in an easy way.
Invenda AG is a Swiss-based company determined to revolutionize signage, kiosks and vending machines. The company provides a smart module that can be integrated into existing as well as its own new vending machines. Through the module, in an easy way, persons responsible for maintaining them can check the status of the hardware or inventory. Our role here was to implement applications for maintenance used by technicians for machine setup, initialization, and status check as well as a quick and straightforward software update.
This project involved us in implementing three interconnected software solutions.
The first and core part was to implement a C++ wrapper library that was able to listen to hardware events (hardware status, possible malfunction) and also to execute commands on the devices (eg. temperature setting, bill/coin inserting detection, pushing out selected merchandise and etc.). This library was the foundation of all further development of Invenda’s vending machine software.
Next, we continued our work implementing Maintenance application. It is used by technicians in the field and through it, they can check and test all hardware parts in the machine, check if there is a need for a machine refill and also initially set up all necessary configuration of the machine. In order to make faster and least painful deployment processes, Kolotree developed an Update service. Once build/release process finishes admin can select the appropriate version of the application and provide it to update service which then gracefully updates running software components.
Vending machines are installed around the world in different places with reduced internet access (metro, shopping malls, etc). They look nice, modern, easy to use, adapted for people with disabilities and more interesting than the old fashioned machines. Merchandisers are able to easily refill all racks with products. On the other side, it is also very important to have a functional machine on the field and to have minimal out of service time.
The requirements we had to meet in this project were a novelty for our team, so we faced a few challenges.
One of the challenges for us was working with a lot of hardware devices and creating simulators, for other applications to use during development.
The biggest challenge was creating optimal applications with reduced CPU usage and memory footprint, as applications developed are running on embedded hardware.
Another challenge and the interesting thing was touch foil testing. We incorporated the 3rd party library provided by touch foil company and created our own test by dividing the screen into segments and checking for each segment if touch and swipe gestures functioning. We used Domain Driven Design (DDD) for our model on the server-side, and Redux pattern on client-side to receive models asynchronously through Web Sockets.
Working on this project has given us an opportunity to work with hardware devices and to develop client-side applications for large screens.
Advertising, Electronics
Luzern, Switzerland
~20 members
Cooperation: 2018 – ongoing