Schemagestuurde stromen met config as code
Een configuratiegestuurd UI-platform met Git-gebaseerde config-as-code, zodat regelwijzigingen in uren live gaan zonder frontend-deployment.
- Stack
- TypeScript · jsonform · Git · CI/CD · Schema validation
Het probleem
Stromen voor veel markten betekenden gedupliceerde code en een engineeringticket telkens wanneer product of compliance een regionale regel wilde wijzigen.
De aanpak
- Formulieren renderen vanuit een schema. De interface leest JSON- of YAML-configuratie via jsonform: het schema genereert de velden en validatieregels. Eigen acties, zoals het starten van een native bridge, blijven in code.
- Eén stap, verschillende uitkomsten. De configuratie bepaalt wat een stap doet per markt en platform. Waar een native mogelijkheid wordt ondersteund, toont de stap uitleg en een scanknop; anders de gewone formuliervelden en een knop Doorgaan. Product wijzigt dat in de configuratie, niet in code.
- Config as code. Wijzigingen worden via Git ingediend. Elke wijziging opent een automatische pull request en draait CI met strikte schemavalidatie op basis van TypeScript-types, zodat foute configuratie faalt vóór productie.
Twee beslissingen die uitleg verdienen
jsonform voor renderen, code voor acties. Een volledig servergestuurde UI die willekeurige, door de server gestuurde logica uitvoert, nodigt uit tot risico op uitvoering van externe code en tot prestatieproblemen. Datagestuurd renderen met acties die aan vooraf gecompileerde handlers zijn gebonden, behoudt de flexibiliteit zonder die blootstelling.
Git in plaats van een beheerformulier. Gemakkelijk bewerken zonder governance breekt productiestromen. Pull requests, typecontroles en CI maken elke wijziging herleidbaar, beoordeeld en makkelijk terug te draaien.
Het resultaat
Configuratiereleases hangen niet meer af van frontend-deployments, waardoor updates voor meerdere markten van weken naar uren gingen en regionale codeduplicatie niet verder groeide.