Architectonisch hoogstandje
SWIS heeft voor Doosopmaat het digitale landschap vormgegeven. Dat was best een uitdaging. Op het eerste gezicht lijkt het namelijk een doodnormale e-commercewebsite, maar schijn bedriegt. Er is namelijk geen productcatalogus met vooraf gedefinieerde afmetingen – elke doos is uniek.
Dat vraagt om complexe software: onder de motorkap voert Doosopmaat.nl allerlei ingewikkelde berekeningen uit, om klanten de prijs van hun doos op maat te laten zien. Vervolgens kun je ‘m direct online bestellen. Herbestellingen zijn ook zo gedaan, en de website communiceert moeiteloos met externe systemen: denk aan workflow automation, het ERP en andere tools via de {JSON:API}-standaard. Joris Meijer, software-architect bij SWIS, maakte een aantal moeilijke keuzes om Doosopmaat.nl optimaal te laten werken. Hij vertelt: ‘Het oude platform hield veel te veel ballen in de lucht. In die architectuur was één systeem verantwoordelijk voor bijna álle processen, van berekening tot orderafhandeling. Nu hebben we er bewust voor gekozen om verschillende tools te gebruiken die stuk voor stuk goed zijn in wat ze doen. De workflow automation is een goed voorbeeld.’ In de nieuwe situatie draait alles standalone en communiceren systemen dankzij de {JSON:API}-standaard.
JouwDoosopmaat
JouwDoosopmaat is de klantomgeving van Doosopmaat. Hier kunnen klanten eerdere bestellingen opnieuw plaatsen, de status van een order bijhouden en hun gegevens inzien. Het is de spil tussen de verschillende (klant)systemen: het haalt data op uit verschillende bronnen, zoals het ERP, en geeft deze weer door aan de website en de BOM. Aan de voorzijde toont een widget de gegevens uit JouwDoosopmaat. Doordat de widget met VueJS is gebouwd, zet je deze makkelijk en snel op elke plek in het domein.
Explosieve rekenkracht met BOM
BOM geeft Doosopmaat de vrijheid en volledige controle om in te spelen op een snel veranderende kartonmarkt. Het systeem is stateless, waardoor de webshop als enige verantwoordelijk is voor je winkelmand. Zo kun je als klant makkelijk switchen van device: stop je op je desktop een product in je winkelwagen, dan kun je er op je mobiel gewoon mee verder. Groot voordeel is ook dat medewerkers mee kunnen kijken met bestellingen van klanten.
Vanaf de grond duurzaam opgebouwd
Verandering is leuk en spannend, maar het mag niet tot verliezen leiden. Het was dus zaak om bestellingen en conversies op peil te houden bij de oplevering. De website is nu juist gebouwd om méér orders aan te kunnen – het systeem is echt gericht op de toekomst.
Naadloos samenspel tussen Drupal, Laravel en VueJS
Alle logica binnen de infrastructuur – zoals de prijsberekeningen – is gebouwd met PHP. Daarbovenop is het Laravel-framework gebruikt. De JouwDoosopmaat-omgeving en de Doosopmaat-calculator zijn standalone VueJS widgets. Deze integreren moeiteloos met externe websites en zijn makkelijk herbruikbaar op verschillende plekken op de website.
Maar ook gewoon Drupal
Pagina’s, artikelen, blogs en visuals: alle (marketing)content wordt gevuld door middel van Drupal. Versie 9 werkt in combinatie met de bestelomgeving en winkelwagen van DrupalCommerce.
Leerzaam project
Joris tot slot: ‘Het was een prachtig project. Er waren zo veel uitdagingen waar je als developer warm voor loopt, ik moest zowat m’n hele gereedschapskist meenemen. Ik ben ontzettend trots op het resultaat: er staat een website waar ze bij Doosopmaat nog jaren van kunnen genieten én mee kunnen groeien.’
Bij SWIS blijven we ook leren. Joris: ‘Van elk project steek ik wel weer iets nieuws op, over bepaalde technieken of architectuur. Hier ook weer: over VueJS bijvoorbeeld, en hoe je een {JSON:API} in combinatie met Laravel ontsluit. Er zijn altijd meerdere mogelijkheden, waarbij je de balans zoekt tussen een flexibel en een onderhoudsvriendelijk systeem.’ SWIS heeft voor ons een autonoom digitaal ecosysteem neergezet, waar Doosopmaat jaren mee vooruit kan.