Van productdata naar bruikbare feeds.
Ik heb Feed Panda zelfstandig ontworpen en ontwikkeld, van applicatiearchitectuur en backend tot externe integraties en productiebeheer.
- REST API’s
- Queues
- SFTP / S3
- Laravel
- OAuth 2.0
Context en probleem
Productdata komt uit verschillende bronnen en moet bruikbaar worden voor aangesloten kanalen. Feed Panda brengt het importeren, verwerken en distribueren van die data samen in één SaaS platform.
Mijn verantwoordelijkheid omvat het hele product: de applicatiearchitectuur, backend, externe integraties en het beheer in productie.
Architectuur en verwerking
De kern is een terugkerende verwerkingsstroom. Het platform haalt productdata op, valideert en transformeert deze en distribueert het resultaat automatisch naar aangesloten kanalen.
1. Importeren
Productdata uit verschillende externe bronnen verzamelen.
2. Verwerken
Gegevens valideren en transformeren voor verder gebruik.
3. Distribueren
De verwerkte feeds automatisch aan aangesloten kanalen leveren.
Filters bepalen welke records doorgaan naar de transformaties. Daarna worden regels op volgorde toegepast, met voorwaarden, acties en alternatieven. Gebruikers kunnen kolommen koppelen, waarden vervangen en de uitkomst vooraf bekijken.
Een concreet voorbeeld uit de applicatie: een categoriefilter selecteert schoenen uit een leveranciersfeed. Vervolgens zetten transformaties maatnotaties met 1/3 en 2/3 om naar decimale waarden. Zo wordt afwijkende brondata bruikbaar voor het ontvangende systeem.
Techniek en integraties
Bij de ontwikkeling gebruik ik Laravel, SQL, queues en REST APIs. De technische keuzes ondersteunen de verwerking van productdata en de koppelingen met externe systemen.
Bronnen zoals Awin, FTP/SFTP, S3, Google Drive en OneDrive sluiten aan op dezelfde werkwijze: verbinding instellen, data selecteren en verwerking plannen. Verbindingen zijn herbruikbaar voor meerdere databronnen. CSV- en XML-uitvoer kan per bestemming worden ingesteld.
Regeltemplates en opzoektabellen maken het mogelijk om dezelfde bewerkingen in meerdere feeds te gebruiken. Dat beperkt herhaald configuratiewerk wanneer een bron of uitvoerformaat verandert.
Betrouwbaarheid en productiebeheer
Feedverwerking is geen eenmalige import. Het dashboard toont geplande synchronisaties, mislukte runs en de actualiteit van feeds. Per run zijn aantallen records, status en doorlooptijd terug te vinden.
Tijdelijke netwerkproblemen en rate limits worden opnieuw geprobeerd. Verkeerde inloggegevens of ontbrekende rechten worden als fout gemeld. Bij bestandslevering wordt eerst een tijdelijk bestand geschreven en daarna naar het definitieve pad verplaatst, zodat een onderbroken upload geen half bestand achterlaat. Ongewijzigde uitvoer kan worden overgeslagen.
Ik neem ook verantwoordelijkheid voor het productiebeheer en de verdere ontwikkeling. Daarmee lopen technische keuzes door na de eerste oplevering: onderhoudbaarheid en de mogelijkheid om het product uit te breiden blijven onderdeel van mijn werk.