Tante Co

Nieuwe platform Tante Co

Na jaren probleemloos draaien was het oude platform van Tante Co toe aan een volgende stap. Functioneel deed het nog wat het moest doen, maar onder de motorkap begon het steeds meer te kraken. Verouderde code-normen, technologieën die toe waren aan een update en een architectuur die niet goed meebewoog met de groei van het bedrijf. Dit was het moment om niet alleen te vernieuwen, maar het systeem ook echt eigen te maken.

Het oude platform diende de initiële opzet van het bedrijf waarbij nog erg gezocht werd naar de juiste werkvorm, en was dus gebouwd met andere aannames dan waar Tante Co nu staat. Het aantal klanten groeide, het gebruik werd intensiever en nieuwe ideeën werden steeds lastiger in te passen. Schaalbaarheid was beperkt en elke uitbreiding vroeg om creatieve workarounds. Dat maakte ontwikkelen trager en foutgevoeliger. Met het nieuwe platform is bewust gekozen voor een stevige, toekomstbestendige basis die meegroeit met het product.

Technische basis

Het nieuwe platform is opgezet rondom een moderne en goed onderhoudbare stack. De backend heb ik ontwikkeld in het Symfony framework, die ik al vaak heb gebruikt in andere projecten, waaronder de UFO app en de NichePlayer. Dit framework heeft een duidelijke structuur, stabiele en snelle codebase en is goed testbaar. Voor de frontend heb ik gekozen voor VueJS in combinatie met het Quasar framework, ook een framework waar ik veel mee werk, waardoor ik snel een consistente en overzichtelijke user interface kunnen ontwikkelen.

Het volledige platform draait in Docker containers, wat ontwikkeling, testen en uitrollen soepel maakt. Voor opslag werk ik met MinIO, een self-hosted alternatief voor cloud-storage gebaseerd op AWS S3. Door MinIO te gebruiken is het systeem al voorbereid op een toekomstige overstap naar AWS S3. Daarnaast is een uitgebreide testsuite opgezet die alle endpoints en kernfunctionaliteiten van het systeem automatisch controleert. Dit geeft vertrouwen bij doorontwikkeling en voorkomt fouten in het live systeem.

Nieuwe functionaliteit

Naast de verbeteringen aan de technische basis heb ik ook een hoop nieuwe functionaliteiten toegevoegd aan het systeem. Het voornaamste doel hierbij was het verbeteren van de workflow van mijn collega’s en het opgeruimd houden van de opslag en database.

Mediabibliotheek

Een belangrijke toevoeging is de mediabibliotheek, waarmee afbeeldingen centraal beheerd en hergebruikt kunnen worden. In het oude systeem moesten mijn collega’s per vraag handmatig de plaatjes samenstellen, inclusief het correct plaatsen van tekst onder de afbeelding in het juiste format. Dat was foutgevoelig en kostte onnodig veel tijd. Met de nieuwe mediabibliotheek zijn afbeeldingen te labelen en daarna eenvoudig opnieuw te gebruiken. Dit zorgt voor meer consistentie en een aanzienlijk efficiëntere workflow.

Nieuwe vraagtypen

Het stellen van vragen is flexibeler geworden. Waar voorheen alleen vragen met vier afbeeldingen mogelijk waren, ondersteunt het nieuwe platform vragen met twee tot acht afbeeldingen en vragen met een schaalbalk. De manier waarop deze zijn opgezet biedt ruimte om in de toekomst eenvoudig nieuwe vraagtypes toe te voegen.

Publiceren van vragenlijsten

Ook de workflow rondom het publiceren is verbeterd. Vragenlijsten kunnen nu worden klaargezet voordat ze live gaan, iets wat in het oude systeem niet mogelijk was. Hierdoor is er meer controle en minder kans op fouten. Ook wordt de werklast hiermee over de hele week verdeeld, waar in het verleden mijn collega’s de hele maandag bezig waren met vragen live zetten.

Meer informatie per pixel

Ook de overzichtspagina’s zijn opnieuw ontworpen. Waar deze voorheen vooral dienden als doorverwijzing, tonen ze nu veel meer relevante informatie in één oogopslag. Statussen, instellingen en belangrijke metadata zijn direct zichtbaar, waardoor er minder doorgeklikt hoeft te worden. Daarnaast is het mogelijk om gegevens te filteren en te sorteren, wat het terugvinden en beheren van informatie aanzienlijk versnelt. Dit maakt het werken met het platform overzichtelijker en beter schaalbaar, zeker bij het beheren van meerdere organisaties, schermen en vragenlijsten tegelijk.

Integratie met de schermleverancier

Het nieuwe platform heeft een diepe integratie met de API van de schermleverancier. Informatie zoals de online-status van schermen is te zien zonder het platform te verlaten. Daarnaast identificeren de schermen zich door middel van hun eigen serienummer, wat het koppelen van nieuwe schermen makkelijker en veiliger maakt. Via een websocketverbinding worden schermen direct bijgewerkt wanneer een vragenlijst wijzigt, zonder handmatige de content van het scherm te updaten. Dit zorgt voor een snellere en betrouwbaardere gebruikerservaring.

Algemene verbeteringen

Daarnaast zijn er diverse algemene workflow-verbeteringen doorgevoerd voor mijn collega’s, waardoor dagelijkse handelingen eenvoudiger en consistenter zijn geworden. Tot slot zijn ook de spelletjes die ingezet worden ter beloning van het invullen van vragenlijsten vernieuwd, wat bijdraagt aan een prettigere ervaring voor eindgebruikers.

Vooruitblik

Met de livegang van het nieuwe platform staat er een solide basis. Niet alleen technisch, maar ook qua werkwijze en uitbreidbaarheid. Het systeem voelt nu beter beheersbaar en klaar om verder op door te bouwen. Er komt nu ruimte binnen het team om de focus te leggen op de groei van het bedrijf, in plaats continu bezig zijn met de dagelijkse gang van zaken.

Om de ontwikkeling beter te stroomlijnen ga ik vanaf nu werken met Jira en vaste sprints van twee weken. Werk wordt opgesplitst in overzichtelijke taken en gepland in behapbare iteraties, waardoor voortgang inzichtelijk zal zijn voor het hele team. Ook maakt dit het makkelijker om prioriteiten te stellen en te bespreken met mijn collega’s. Door in sprints te werken hoop ik meer controle te krijgen over het ontwikkelproces en een duidelijkere roadmap te kunnen tonen. Ook leert mij dit beter tijd in te schatten van mijn werkzaamheden.