Skip to content

Projectplan

Stagebedrijf: over iO

iO is een digitaal bureau opgericht in 2005, met campussen in Nederland, België, Zweden, Denemarken en Bulgarije. Het bureau biedt diensten aan op het gebied van strategie, creatie, technologie en marketing, en telt ruim 2.000 medewerkers.

De stage vindt plaats op iO Campus Herentals, binnen de tak Agency. Meer specifiek is de stagiair ingedeeld in het team Custom Development, dat zich richt op de technische uitvoering van digitale projecten voor externe klanten. Het team bestaat voornamelijk uit backend-specialisten.

Voorbereidingsfase

Ter voorbereiding op de professionele projectwerking werden verschillende technologieën zelfstandig bestudeerd. Dit gebeurde enerzijds via interne academies opgezet door iO, en anderzijds via online cursussen en documentatie die zelfstandig werden doorlopen.

De twee interne academies richtten zich respectievelijk op Symfony en Vue 3. De Symfony-academy behandelde de basisconcepten van het framework aan de hand van een kleinschalig project dat stapsgewijs werd opgebouwd: routing, controllers, entiteiten en de Doctrine ORM voor databasebeheer. De focus lag voornamelijk op de backendlogica en het implementeren van een CRUD-interface. Het voornaamste doel was vertrouwdheid opbouwen met de syntax en de architecturale principes van Symfony. De Vue 3-academy volgde een gelijkaardige aanpak, ditmaal met de focus op frontend-ontwikkeling. Hierin kwamen de kernconcepten van Vue aan bod, zoals de component-gebaseerde architectuur, de Composition API, props en reactief databeheer.

Daarnaast werd zelfstandig een opfrissing voorzien van HTML en CSS via een online cursus. Ook voor JavaScript werd een online cursus doorlopen, die als basis dient voor de frontend-ontwikkeling binnen het project. Tot slot werd de integratie van Symfony en Vue verder verkend via de officiële documentatie van Symfony UX, als voorbereiding op de gecombineerde inzet van beide technologieën in een reële projectomgeving.

Project

De klant

De klant¹ is een Belgisch bedrijf actief in de preventieve gezondheidszorg. Het bedrijf biedt gepersonaliseerde gezondheidsanalyses aan op basis van wetenschappelijk onderbouwde tests en rapporten. De dienstverlening richt zich op twee doelgroepen: individuen die inzicht willen krijgen in hun eigen gezondheidsdata, en zorgverleners die hun patiënten op basis daarvan gericht willen begeleiden. Het bedrijf werkt samen met een netwerk van meer dan 2.000 artsen, klinisch biologen en gezondheidsprofessionals.

¹ De klant werd in dit verslag geanonimiseerd. De broninformatie over dit bedrijf is afkomstig van de officiële website van de klant en werd verwerkt via iO Bonzai (AI-assistent, iO, 2026). De volledige bronvermelding is op verzoek beschikbaar.

De opdracht

Gedurende de stage wordt meegewerkt aan de ontwikkeling van een nieuw digitaal platform voor de klant. Het platform laat toe dat individuen zich registreren en worden gekoppeld aan een zorgverlener, die via het platform vragenlijsten kan beheren en uitsturen. De resultaten worden automatisch verwerkt tot rapporten. De bijdrage situeert zich voornamelijk aan de backendkant van het project, met focus op de ontwikkeling van adminpagina's in Symfony, in samenwerking met een collega buiten het vaste teamverband.

Doelstellingen

Backend – Symfony

Een eerste reeks doelstellingen situeert zich aan de backendkant van het platform, waarbij Symfony als centraal framework wordt ingezet.

  • CRUD-functionaliteit: Het opzetten van volledige CRUD-pagina's (Create, Read, Update, Delete) waarbij gebruik wordt gemaakt van de kernbouwstenen van Symfony: Controllers voor de afhandeling van requests, Repositories voor databaseinteracties, Twig-templates voor de weergave, Entiteiten als databaserepresentaties en DTO's voor gestructureerde gegevensoverdracht.

  • Dashboard met Twig-componenten: Het ontwikkelen en implementeren van een herbruikbaar Twig-component dat tellingen en statistieken weergeeft op een dashboard, zodat zorgverleners een snel overzicht krijgen van relevante data.

  • Live Components voor filtering: Het bouwen van Live Components via Symfony UX, waarmee filteropties dynamisch en zonder volledige paginalading kunnen worden toegepast op dataoverzichten.

  • Bevestigingsdialoog met Stimulus: Het implementeren van een bevestigingsdialoog bij het verwijderen van items, gebruikmakend van Stimulus binnen het Symfony UX-ecosysteem. Dit verhoogt de gebruiksvriendelijkheid en voorkomt accidentele verwijderingen.

  • Formulierbeheer met Symfony Form Type: Het opzetten van formulieren via het Symfony Form Type-systeem, inclusief validatie van gebruikersinput op zowel client- als serverniveau.

  • Flash messages component: Het aanmaken van een centraal, herbruikbaar component voor flash messages, om codeduplicatie te vermijden en notificaties consistent weer te geven doorheen de applicatie.

  • Logging in admin: Het toevoegen van een logging-sectie aan het adminpanel, van waaruit beheerders zowel de action_log als de audit_log kunnen raadplegen. De opzet bestaat uit een overzichtspagina die doorlinkt naar afzonderlijke detailpagina's, zodat de informatie gestructureerd toegankelijk is zonder alles op één scherm te plaatsen.

Frontend – Vue

Aan de frontendzijde ligt de focus in een eerste fase op de meertaligheid van het platform.

  • Taalverwisselaar: Het integreren van een taalverwisselaar waarmee gebruikers eenvoudig kunnen wisselen tussen de beschikbare talen van het platform. Dit vereist een correcte koppeling tussen de Vue-frontend en de vertalingslaag in Symfony.

Gedeeld - Admin & Vue

  • 404-pagina: Het voorzien van een consistente foutpagina voor zowel het adminpanel (Twig) als de Vue-applicatie. Beide pagina's volgen dezelfde visuele stijl, zodat de gebruikerservaring uniform blijft over de verschillende delen van het platform.

Meerwaarde

De klant beschikt vandaag nog niet over een centraal digitaal platform voor de opvolging van patiënten. Het nieuwe platform biedt zorgverleners één omgeving waarin zij vragenlijsten kunnen beheren, uitsturen en de resultaten automatisch verwerkt zien tot rapporten. Voor patiënten verlaagt het de drempel om actief deel te nemen aan hun zorgtraject.

Voor de klant betekent het platform een stap richting een meer gestructureerde en schaalbare werking. Voor iO biedt het project relevante ervaring in de healthcare-sector, waar specifieke vereisten gelden op het vlak van privacy en gegevensbeveiliging.

Planning

De stage loopt van 23 februari 2026 tot en met 22 mei 2026. De eerste drie weken waren gewijd aan de voorbereidingsfase, waarbij de verschillende technologieën zelfstandig werden bestudeerd. Vanaf week 4 wordt volledig gefocust op het klantenproject. De onderstaande planning is een ruwe schatting op basis van de verwachte complexiteit per taak.

WeekPeriodeInhoud
Week 1–323 feb – 13 mrtVoorbereidingsfase: academies
Week 416 mrt – 20 mrttaak-01: Organisation CRUD
Week 523 mrt – 27 mrttaak-02: User lijst · taak-04: Questionnaire zoekfilter
Week 630 mrt – 3 aprtaak-03: Dashboard stats
Week 76 apr – 10 aprtaak-05: Bevestigingsdialoog
Week 813 apr – 17 aprtaak-06: Form Type · taak-07: Flash component
Week 920 apr – 24 aprtaak-08: Vue taalwisselaar
Week 1027 apr – 1 meitaak-09: Logging
Week 114 mei – 8 meitaak-10: 404-pagina
Week 12–1311 mei – 22 meiBuffer · eventuele nieuwe taken

Opmerking: Bovenstaande planning is indicatief. Er werden geen harde deadlines opgelegd voor de individuele tickets. De bufferperiode (week 12–13) biedt ruimte voor bijkomende taken, verdieping of een eventueel tweede project.

Voortgangsrapportage

Communicatie en begeleiding

Gedurende het project zijn verschillende aanspreekpunten voorzien afhankelijk van de aard van de vraag. Voor technische vragen rond Symfony kan worden teruggevallen op stagebegeleider Tony, terwijl frontend-gerelateerde vragen worden gericht aan Pieter-Jan of Yves, die hierin gespecialiseerd zijn. Projectinhoudelijke vragen en beslissingen worden steeds voorgelegd aan Yves, de verantwoordelijke developer voor het project.

Met Yves vindt dagelijks een stand-up plaats van een kwartier. Tijdens dit overleg wordt besproken wat er de vorige dag werd gerealiseerd, wat de focus is voor de lopende dag en worden eventuele onduidelijkheden aangekaart. Buiten deze vaste momenten verloopt de communicatie via persoonlijk contact op kantoor of via Slack, het interne communicatieplatform van iO.

Projectopvolging

Voor het beheer en de opvolging van taken wordt gebruikgemaakt van Jira. De tickets zijn vooraf aangemaakt en toegewezen, waardoor te allen tijde een overzicht beschikbaar is van de openstaande en voltooide taken en wat er verwacht wordt. Gewerkte tijd wordt per ticket gelogd, zodat ook het team een overzicht heeft van de bestede tijd per taak.

De broncode wordt beheerd via GitLab. Wanneer een ticket voltooid is, wordt een merge request aangemaakt ter beoordeling. Dit laat toe dat de code gereviewed wordt alvorens deze wordt samengevoegd met de hoofdbranch, wat de codekwaliteit en consistentie van het project ten goede komt.

Bronnen