Piekverkeerbestendige app voor gezond eten op kantoor
Duurzame bedrijfscatering met technologie die meegroeit
De ontwikkeling van de app van Join Program kent een bijzondere tijdlijn, die zich afspeelt tijdens de (gedeeltelijke) sluiting van horeca en kantoren. Een samenwerking tussen TrueFullstaq, digital agency Endeavour en Vermaat Groep resulteerde in een schaalbare app die piekbelasting aankan.

Een centraal programma voor gezond bedrijfseten
"Het programma van Join Program levert gezond eten voor bedrijfscatering, op een nieuwe manier. Drie pijlers staan centraal: ecologisch, sociaal en gezond. In een centrale keuken worden eigen recepten klaargemaakt en naar de locaties en restaurants van bedrijven gebracht", zegt Mark Snel, Head of Product bij Vermaat Groep, het bedrijf achter Join Program.
De app van Join Program, ontwikkeld door Endeavour in Angular en beschikbaar voor iOS en Android, is een centraal onderdeel. Mark: "Via de app kunnen medewerkers van onze klanten hun lunch, diner of eten vooraf bestellen. Daardoor is het voor onze klanten makkelijker om in te schatten hoeveel medewerkers op kantoor eten. Hoe beter wij de productie van voedsel op de wens en vraag van medewerkers kunnen afstemmen, hoe minder voedselverspilling."
De app kent een flinke complexiteit door een verscheidenheid aan functionaliteiten. Producten kunnen meerdere versies hebben, gerechten zijn gekoppeld aan dag- en weekmenu's. En de app kent een structuur met verschillende klanten en locaties van deze klanten, die soms meerdere eetgelegenheden per locatie hebben.
App-ontwikkeling tijdens een pandemie
Vlak voordat de coronapandemie in maart 2020 uitbrak, was de app klaar voor lancering. Door langdurige en opvolgende lockdowns en thuiswerkadviezen, waren bedrijfsrestaurants en cateraars dicht.
"We zijn toen doorgegaan met de doorontwikkeling van de app zonder 'm te lanceren. De app is in september 2021 gelanceerd. Pas in maart 2022, nadat de laatste grote coronamaatregelen zijn opgeheven, zagen we het aantrekken. Daardoor hadden we te maken met een enorm snelle groei aan klanten", zegt Mark.
"Tijdens de doorontwikkeling hebben we technische componenten veranderd en aangepast, zoals de overstap van een JSON API naar een GraphQL API. Dat helpt ons nu bij het opvangen van de groei aan klanten", zegt Yoeri Moens, medior software engineer bij Endeavour.
Op zoek naar hosting die past bij schaalbaarheid en groei
"Tijdens het prototypen hadden we de app op één simpele server staan, geschikt om te werken naar een minimum viable product. Met het zicht op de ambities, waarbij Join Program zich ook richt op grote bedrijven, lag er direct een uitdaging voor de schaalbaarheid", zegt Yoeri. "Op dat moment kwam TrueFullstaq in beeld, waar we bij Endeavour veel digitale producten hebben gehost. Zij helpen ons met technische uitdagingen en nemen alle componenten voor hosting uit handen."
De back-end van de app draait op Laravel, met GraphQL API voor communicatie met de front-end in Angular. Met een websocket-verbinding beschikt de app over real time data zonder te herladen. "Stel dat er van een product nog één op voorraad is en vijf mensen dit product bekijken. Als het laatste product besteld wordt, wil je dat de anderen dat real time in beeld krijgen", legt Yoeri uit.
Automatisch deployments op Kubernetes dankzij TrueFullstaq
Voor schaalbaarheid van de app bleek containeriseren en deployen op Kubernetes een uitgelezen mogelijkheid. "De API hebben we stateless opgezet, om te kunnen schalen met horizontal pod autoscaling. We willen meerdere instances van de API hebben draaien, zodat de app snel blijft als het verkeer enorm toeneemt", zegt Yoeri.
"Vervolgens hebben we de app eerst op een shared Kubernetes cluster van Endeavour bij TrueFullstaq gezet. Al vrij snel kwam het idee voor een apart cluster voor het moederbedrijf van Join Program, Vermaat Groep."
Het team heeft de app in fases klaargemaakt voor het nieuwe cluster. "Deployments gaan nu automatisch met GitLab pipelines, Helm charts en een up-to-date Kubernetes-omgeving dankzij TrueFullstaq. We hadden er een beetje ervaring mee, maar hebben dit dankzij TrueFullstaq verder kunnen professionaliseren."
Klaar voor piekverkeer
Voor de app van Join Program is schaalbaarheid en opvangen van piekverkeer extreem belangrijk. "Veel gebruikers bestellen hun eten vooraf; een deel doet dat pas tijdens lunchtijd. Tussen 10 en 13 uur zien we veel meer verkeer", zegt Mark.
Guido Laout, business development director bij TrueFullstaq: "Dit is een project met een enorme zekerheid op piekverkeer. Op piekmomenten zijn dit duizenden gelijktijdige gebruikers. Daarom hebben we een opzet gekozen die Vermaat de grootst mogelijke flexibiliteit geeft en waarmee proactief opschalen een kwestie van seconden is."
Mark: “Door performance flink onder de loep te nemen, knelpunten te identificeren en aan te passen, is de app sneller en de laadtijd korter. Het is voor ons belangrijk dat zo te houden als het aantal gebruikers flink omhooggaat.”