Project overview
Ik werkte aan de vending-machine software van Innovend:
- Integratie van nieuwe hardware — pushers, barcode-scanners, betaalterminals.
- Koppelingen met externe diensten (bijv. reserveringssystemen, credit-providers).
- Ontwikkelen van nieuwe functionaliteiten en het optimaliseren van bestaande flows voor snellere uitgifte en verbeterd voorraadbeheer.
Samenwerking
Binnen het bredere softwarelandschap concentreerde ik mij op het vending-machine team (± 5 ontwikkelaars). We ontwikkelden in tweewekelijkse Scrum-sprints en stemden regelmatig af met het hardware-team voor testopstellingen.
Technische implementatie
- Slim API-backend (PHP) op de machine voor voorraad, transacties en hardware-commando’s.
- Vue/TypeScript-frontend als kassascherm en lokale beheerinterface.
- Python-services op Raspberry Pi als brug tussen hardware-interfaces (UART/I²C) en de Slim-API.
- Cypress-tests voor UI-flows; Postman-collections voor API-contracttests.
- Buddy CI/CD voor versiebeheer en geautomatiseerde builds naar staging en productie.
Uitdagingen
- Legacy-code in meerdere talen (PHP, Python, JS/TS) moderniseren zonder downtime.
- Beperkte hardwaredocumentatie bemoeilijkte debuggen en fine-tuning.
- Afstemming tussen embedded softwareroadmap en wensen van het cloud-platform.
Persoonlijke reflectie
Dit traject verbreedde mijn expertise in hardware-software bridging en leerde me pragmatisch verbeteren binnen een bestaande, multi-language codebase.