Project: Tevreden API
Voor mijn toenmalige werkgever Tevreden BV, een onderzoeksbureau in klanttevredenheid, ontwikkelde ik een JSON API waarmee klanten en derde partijen diensten en rapportages in eigen sites of software konden integreren.
Dancer framework
Het in house ontwikkelde onderzoeksplatform ("Evaluation") was ontwikkeld in Perl5 en had al een lange historie. Het bevatte daardoor veel lastig schaalbare/onderhoudbare legacy code. Een groot deel daarvan is door mij en mijn collega's in de loop der tijd gerefactored naar meer moderne en modulaire code.
Onderdeel daarvan was gebruik van betere frameworks, in het bijzonder Perl Dancer. De API was het eerste project waar we dit hebben ingezet. Dit micro framework dat losjes geinspireerd is op Python Flask beviel dermate goed dat we Dancer hierna voor vrijwel alle nieuwe projecten hebben gebruikt.
API Blueprint
Een goede API valt en staat met goede documentatie. Het is handig om daar te beginnen, of eigenlijk, bij een api specificatie waarvan html-documentatie gegenereerd kan worden. Destijds heb ik daar API Blueprint voor gebruikt. Tegenwoordig zou ik eerder voor de breder ondersteunde OpenAPI specificatie gaan.
Voor klanten en partners
De eerste use cases voor de API was relatief eenvoudig. Een partner van Tevreden BV had een feed nodig met filterbare reviews, om te tonen op de eigen website. Verdere features, zoals het versturen van vragenlijsten via de API, zijn er later bijgebouwd. Soms kwamen (grote) klanten ook met specifieke verzoeken die we generiek inbouwden. Nog interessanter werd het toen we zelf de API ook gingen gebruiken.
Voor Tevreden zelf
Tevreden liep op gegeven moment tegen problemen op toen het steeds lastiger werd om Perl programmeurs te vinden. Uiteindelijk is besloten om bouw van nieuwe functionaliteit te outsourcen, en daarvoor geen Perl meer te gebruiken. Maar het wiel opnieuw uitvinden bleek geen optie. Dus is besloten om de API hiervoor in te zetten, oa door hem uit te breiden met endpoints om de rapportage- en benchmarkengine te ontsluiten.
Huidige situatie
Ik heb zelf eind 2017 ontslag genomen bij Tevreden, als laatste Perl developer. Het bedrijf is nog een tijd zonder in house developers doorgegaan. Inmiddels is het bedrijf opgegaan in The Feedback Company. De Tevreden API is echter nog steeds online, en wordt ook nog actief gebruikt. Daar ben ik toch wel een klein beetje trots op.
Heb jij ook een project waar je mijn hulp bij kan gebruiken?
Ik help je graag! Neem contact met me op, en we bespreken je wensen.