<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PHP on Wouter Brunenberg</title><link>https://brunenberg.github.io/nl/tags/php/</link><description>Recent content in PHP on Wouter Brunenberg</description><generator>Hugo</generator><language>nl-nl</language><lastBuildDate>Sun, 29 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://brunenberg.github.io/nl/tags/php/index.xml" rel="self" type="application/rss+xml"/><item><title>Zwemles Beoordeling Tool</title><link>https://brunenberg.github.io/nl/projects/swimming-evaluation-tool/</link><pubDate>Sun, 29 Jun 2025 00:00:00 +0000</pubDate><guid>https://brunenberg.github.io/nl/projects/swimming-evaluation-tool/</guid><description>&lt;h2 id="overzicht-"&gt;Overzicht 🗺️&lt;/h2&gt;
&lt;p&gt;Dit was een groepsproject voor school dat ongeveer 20 weken duurde. We moesten een oplossing maken die meerdere problemen van de opdrachtgever aanpakte. De klant was een zwemvereniging die kinderen zwemmend lesgeeft en zwemdiploma&amp;rsquo;s uitgeeft. De instructeurs hielden de voortgang van zwemmers bij op papier, wat onhandig bleek in een natte omgeving. Andere problemen waren dat papier kwijt kon raken, het lang duurde om informatie te vinden, ouders/verzorgers geen inzage hadden in de voortgang van hun kind en dat ouders/verzorgers soms geen Nederlands spreken, waardoor het lastig was uit te leggen waar kinderen aan moesten werken.&lt;/p&gt;</description></item><item><title>Bazaar</title><link>https://brunenberg.github.io/nl/projects/bazaar/</link><pubDate>Mon, 01 Apr 2024 00:00:00 +0000</pubDate><guid>https://brunenberg.github.io/nl/projects/bazaar/</guid><description>&lt;h2 id="overzicht-"&gt;Overzicht 🗺️&lt;/h2&gt;
&lt;p&gt;&amp;lsquo;Bazaar&amp;rsquo; is een webapplicatie ontwikkeld met het Laravel‑framework als onderdeel van een studieproject. Het is gezamenlijk gebouwd door twee studenten. Het platform combineert elementen die doen denken aan Marktplaats en iBood en biedt zo een unieke marktplaatservaring. De applicatie ondersteunt drie gebruikersrollen: particuliere adverteerders, zakelijke adverteerders en klanten. Elke rol heeft specifieke rechten en functionaliteiten en kan interacteren met entiteiten zoals producten en bedrijven.&lt;/p&gt;
&lt;h3 id="gebruikersverhalen-zonder-acceptatiecriteria-die-maakten-geen-onderdeel-uit-van-de-opdracht"&gt;Gebruikersverhalen (zonder acceptatiecriteria; die maakten geen onderdeel uit van de opdracht)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Als gebruiker kan ik me registreren op het platform (zonder de mogelijkheid om te adverteren)&lt;/li&gt;
&lt;li&gt;Als gebruiker kan ik me registreren als particuliere adverteerder&lt;/li&gt;
&lt;li&gt;Als gebruiker kan ik me registreren als zakelijke adverteerder&lt;/li&gt;
&lt;li&gt;Als platformeigenaar wil ik de zakelijke registratie als PDF (contract) kunnen exporteren zodat deze ondertekend kan worden (gebruik van een package toegestaan)&lt;/li&gt;
&lt;li&gt;Als platformeigenaar wil ik de applicatie in twee talen aanbieden&lt;/li&gt;
&lt;li&gt;Als platformeigenaar wil ik contracten kunnen uploaden zodat deze kunnen worden goedgekeurd&lt;/li&gt;
&lt;li&gt;Als platformeigenaar wil ik dat API‑calls veilig worden aangeroepen&lt;/li&gt;
&lt;li&gt;Als bedrijf wil ik mijn eigen look‑and‑feel aan de applicatie kunnen geven&lt;/li&gt;
&lt;li&gt;Als bedrijf wil ik mijn eigen URL kunnen instellen zodat ik een landingspagina kan maken&lt;/li&gt;
&lt;li&gt;Als bedrijf wil ik verschillende componenten aan mijn landingspagina kunnen koppelen zodat ik niet alles zelf hoef te bouwen. Een component kan zijn: uitgelichte advertenties, een introductietekst, afbeelding. Zie het als een paginalay‑outbouwer.&lt;/li&gt;
&lt;li&gt;Als bedrijf wil ik een API ontsluiten zodat alleen mijn advertenties door een andere applicatie gebruikt kunnen worden&lt;/li&gt;
&lt;li&gt;Als bedrijf wil ik een CSV met advertenties kunnen uploaden zodat ik alles in één keer kan inladen en tijd bespaar&lt;/li&gt;
&lt;li&gt;Als platformeigenaar wil ik elke advertentie voorzien van een QR‑code zodat deze makkelijk te delen is (gebruik van een package toegestaan)&lt;/li&gt;
&lt;li&gt;Als adverteerder wil ik een huuradvertentie kunnen plaatsen&lt;/li&gt;
&lt;li&gt;Als adverteerder wil ik een kalenderoverzicht van al mijn verhuurmomenten zodat ik weet wanneer ik iets moet uitlenen en terugkrijgen&lt;/li&gt;
&lt;li&gt;Als adverteerder wil ik een kalenderoverzicht van wanneer mijn advertenties verlopen&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik een geschiedenis van gekochte producten kunnen zien&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik favorieten kunnen aanmaken&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik een kalenderoverzicht van gehuurde producten kunnen zien zodat ik weet wanneer ik iets kan ophalen en terugbrengen&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik een homepage met de laatste advertenties kunnen zien&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik een review van een huurproduct kunnen plaatsen&lt;/li&gt;
&lt;li&gt;Als gebruiker wil ik een review van een adverteerder kunnen plaatsen&lt;/li&gt;
&lt;li&gt;Algemeen &amp;gt; elke lijst moet gefilterd en gesorteerd kunnen worden&lt;/li&gt;
&lt;li&gt;Algemeen &amp;gt; elke lijst bevat paginering&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="businessregels"&gt;Businessregels&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bij het retourneren van een product wordt slijtage berekend (volgens instellingen)&lt;/li&gt;
&lt;li&gt;Bij het retourneren van een product moet een foto worden geüpload&lt;/li&gt;
&lt;li&gt;Je mag maximaal 4 biedingen doen&lt;/li&gt;
&lt;li&gt;Je mag maximaal 4 advertenties plaatsen&lt;/li&gt;
&lt;li&gt;Je mag maximaal 4 huuradvertenties plaatsen&lt;/li&gt;
&lt;li&gt;Een advertentie is de koppeling met meerdere plaatsingen; met andere woorden: als je een kettingzaag verhuurt, kun je er een fles olie bij verkopen&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="technologieën-"&gt;Technologieën 🛠️&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;SQL‑database&lt;/li&gt;
&lt;li&gt;Microsoft SQL Server Management Studio&lt;/li&gt;
&lt;li&gt;Trello&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="uitdagingen-en-oplossingen-"&gt;Uitdagingen en oplossingen 🧗🏻&lt;/h2&gt;
&lt;p&gt;De uitdaging was om een lange lijst aan eisen in een relatief korte tijd te implementeren. Veel van die eisen waren vrij vaag geformuleerd, waardoor interpretatie belangrijk was.&lt;/p&gt;</description></item></channel></rss>