Bouwplan · 6 september 2026
Een webshop voor mini-PC’s waarin de productconfigurator het product is. De klant stelt een systeem samen uit een chassis plus opties per fysiek slot, ziet de meerprijs per keuze, en krijgt een samenstelling die als offerte of order verdergaat. De assemblage gebeurt in eigen huis, dus dezelfde samenstelling levert ook de stuklijst en de werkorder.
Zeven regels die de rest van het systeem bepalen. Ze zijn geen stijlvoorkeur — overtreding ervan is de reden waarom dit soort projecten na een jaar vastloopt.
eval().Het belangrijkste component: hier brengt de klant 90% van zijn tijd door. Elke optiegroep hoort bij één slot, dus twee geheugenslots zijn twee groepen met elk een eigen baseline. De sectieband erboven draagt de gedeelde grens, het lopende totaal en het advies over de combinatie.
Demonstratie. In het echte systeem komt elke prijs van de server — de configurator rekent nooit zelf. Let op dat dezelfde reep in slot 1 een andere meerprijs toont dan in slot 2: slot 1 heeft 8 GB als baseline, slot 2 heeft “leeg”.
Donker is de thuisbasis, licht is de optie — omgekeerd aan het gebruikelijke. Het accent komt uit het logo. Dat blauw haalt 7,5:1 op de donkere grond maar slechts 2,2:1 op de lichte, dus het lichte thema heeft een eigen, donkerder waarde. Wissel hierboven van thema.
Eén Laravel-applicatie met harde interne grenzen. Geen microservices — die kosten
bij dit volume alleen operationele last. De publieke oppervlakte van een module is uitsluitend wat
in Contracts/ staat plus de events die hij uitzendt.
| Module | Verantwoordelijkheid |
|---|---|
| Configurator | Modellen, slots, optiegroepen, opties, regels, resolutie — de kern |
| Pricing | Kostprijs, marge, delta’s, prijsregels, staffelkorting — de kern |
| Catalog | Producten, categorieën, media, facetten, content |
| Inventory | Voorraad per component, reserveringen, leveranciersfeeds |
| Ordering | Order, offerte, stuklijst, werkorder |
| Checkout | Winkelwagen, adressen, verzendkeuze, afronding |
| Payments | Gatewaycontract; Mollie als eerste implementatie |
| Shipping | Tariefcontract, labels, track & trace; Sendcloud |
| Identity | Accounts, klantgroepen, btw-nummers, rollen |
| Integrations | Leveranciers-API’s, productimport, boekhouding |
| Api | Versionering, authenticatie, tokenscopes, foutformaat, OpenAPI |
| Localization | Talen, vertaalbare velden, vertaaldekking, formattering |
Elke fase levert iets bruikbaars op; niets wordt af verklaard zonder tests. De verleiding is om in fase 0 al te importeren — niet doen. Je leert het model pas kennen door één chassis volledig met de hand in te voeren.