Alle cases

01 / Case

Natuurhuisje

Frontend architecture en stapsgewijze migratie van een platform voor gasten en verhuurders.

Rol
Developer
Context
Werkt hier sinds 2022
Focus
Architectuur, migratie en kwaliteit
Landschap rond een Natuurhuisje-verblijf.

Overzicht

Natuurhuisje is een platform voor gasten en verhuurders. Ik werk er aan features en de technische basis van de frontend. Sinds begin 2026 werk ik vooral in het verhuurdersteam, onder andere aan compliance en fiscale processen.

Uitdaging

Ik begon in een Symfony-monoliet met Twig, TypeScript, Custom Web Components en PostCSS. Die applicatie moest blijven draaien terwijl we een nieuwe frontend opbouwden en routes geleidelijk migreerden.

Aanpak

Samen met een Next.js-developer en een DevOps-engineer bouwde ik aan een zelfstandige frontend-monorepo naast de Symfony-applicatie. We migreren routes stap voor stap. Een proxy en GrowthBook feature toggles sturen verkeer gecontroleerd naar de nieuwe frontend.

Mijn bijdrage

Ik introduceerde Atomic Design en zette Storybook op voor component development. Voor de monorepo werkte ik mee aan de architectuur, conventions en migratieaanpak.

In het verhuurdersteam verzorg ik de frontend. Met app developers, backend developers en DevOps stem ik API-contracten en endpoints af voordat de implementatie begint.

Architectuur

De frontend-monorepo heeft meerdere apps, zodat teams binnen hun eigen domein kunnen werken. Een gedeelde componentbasis houdt de UI consistent.

De stack bestaat uit Next.js, React en TypeScript. TanStack Query beheert server state. OpenAPI-contracten leveren via Hey API gegenereerde API-types en TanStack Query-functions. De Symfony-applicatie en de nieuwe frontend draaien naast elkaar.

Technische keuzes

Presentational components krijgen data via props. Businesslogica heeft één duidelijke plek en wordt niet over clients verspreid. De frontend kan data combineren, maar dupliceert geen domeinregels.

Bij grote wijzigingen toets ik aannames met een proof of concept en weeg ik operationeel risico mee. Zo kan de bestaande applicatie blijven draaien.

Kwaliteit

Unit tests dekken functionele logica. Componenttests controleren UI-gedrag, states en validatie. Integration tests gebruik ik voor samenwerking tussen lagen; Playwright test volledige gebruikersflows.

Code review loopt via merge requests. Automatische pipelines draaien tests en E2E-flows. Voor accessibility combineer ik Storybook/a11y, semantische HTML, ARIA en browserchecks.

Resultaat

De nieuwe frontend groeit naast de Symfony-applicatie. Teams kunnen routes in hun eigen domein ontwikkelen en via de proxy gecontroleerd live zetten.

Lessen

Een migratie werkt beter met duidelijke grenzen, kleine stappen en controle over het verkeer. Afstemming tussen frontend, backend, app development en DevOps is daar onderdeel van.