Hoe ik met Laravel bouw
Ik ben developer in Leeuwarden en bouw met Laravel als een applicatie meer is dan pagina's: gebruikers, rechten, data. Mijn basis is de TALL-stack: Tailwind, Alpine.js, Laravel en Livewire. Dit is hoe ik dat aanpak.
- Laravel
- Leeuwarden, NL
- 1 project
Waar ik op let
Wat ik in elke Laravel-applicatie opnieuw doe.
-
Van database tot interface
Een feature bouw ik in één keer door alle lagen: migratie, model, logica en het scherm erbij. Zo heb ik onderdelen van het MVP van EcoMobi opgepakt.
-
Livewire voor interactie
Formulieren, filters en borden die reageren zonder dat er een losse JavaScript-app naast staat. Alpine.js vult aan waar het om iets kleins gaat.
-
Componenten die je hergebruikt
Blade- en Livewire-componenten met één taak. Bij EcoMobi wordt één tekstveld 62 keer gebruikt in de app.
-
Rollen en rechten
Gebruikersbeheer met rollen en rechten, en borden waarvoor je mensen per e-mail uitnodigt.
-
Data van buiten
Een API-route die data bij externe bronnen ophaalt en opslaat, klaar om te visualiseren.
-
Getest en gedocumenteerd
Unittests met Pest en geschreven documentatie van de architectuur, zodat een team zonder mij verder kan.
Wat bouwde ik bij EcoMobi?
EcoMobi is een beleidsondersteunend systeem voor plattelandsgemeenten die overstappen op duurzame mobiliteit. Het maakt de informatie achter beleidskeuzes beter bereikbaar en geeft inwoners er een rol in. Ik werkte er vijf maanden aan mee, tijdens mijn stage bij Concept7.
Laravel en Livewire waren allebei nieuw voor mij. Na een paar oefenprojecten pakte ik eigen onderdelen van het MVP op, van database tot interface, waarbij elke merge request werd gereviewd. Mijn werk zit in het product: het binnenhalen van data bij externe bronnen, borden die je deelt, archiveert en door te slepen herordent, gebruikersbeheer met rollen en rechten, en een set gedeelde componenten.
Daarnaast heb ik de toegankelijkheid nagelopen tegen WCAG 2.2 (labels, ARIA-labels en contrast), unittests geschreven met Pest, een dark mode toegevoegd en de architectuur gedocumenteerd, zodat het team zonder mij verder kon.
- 5 maanden
- 62
- WCAG 2.2
Gebouwd met Laravel
Een dataplatform waar ik bij Concept7 aan meebouwde.
- Alpine.js
- Filament
- JavaScript
- Livewire
- PHP
- Tailwind
Hoe ik werk
Heldere keuzes, korte rondes en iets echts om op te reageren.
-
Vind de echte behoefte
Voordat ik een stack kies, maak ik het doel, de gebruiker en de kleinste versie die het bouwen waard is helder.
-
Bouw precies genoeg
Ik kies de simpelste stack die past en werk dan snel toe naar iets dat echt genoeg is om te testen en te verbeteren.
-
Verfijn de ervaring
Responsive gedrag, subtiele beweging, toegankelijke keuzes, leesbare code en een helder CMS maken van een werkende build een product dat af is.
Vragen
Wat ik er vaak over hoor.
-
Voor een applicatie met formulieren, tabellen en borden is Livewire genoeg: de logica blijft op één plek, in PHP, en de schermen hebben geen eigen API nodig.
-
Ik kies de simpelste stack die past. Inhoud die iemand beheert: WordPress. Een applicatie met gebruikers, rechten en veel data: Laravel. Een product waar de interface het zwaarst weegt: Next.js.
-
Met tests, leesbare code en documentatie van de architectuur. Zo liet ik mijn werk aan EcoMobi achter, waar elke merge request door mijn begeleider werd gereviewd.
-
Ja, voor beheerschermen. EcoMobi gebruikt het naast Livewire.
Welke stack wanneer
Ik kies de simpelste die past.
| Stack | Wanneer |
|---|---|
| WordPress | Inhoud die iemand zelf beheert: een site, een portfolio, een blog. |
| Expo | Iets dat je bij je hebt en dat je moet herinneren: een app. |
| Next.js | Een product met accounts, eigen logica of veel interactie. |
| Laravel | Een applicatie met gebruikers, rechten en veel data. |
