Baboon API & Baboon API Visualizer

Wat is het ?

🦧 Baboon API is een openbare API vergelijkbaar met de traditionele "Dog en Cat APIs". Deze tool stelt ontwikkelaars in staat om bavianenfoto's op te halen via verzoeken en ze direct weer te geven in hun interfaces in aanbouw. Zo kunnen ze werken aan hoe afbeeldingen worden gepositioneerd tussen andere UI-elementen.

⬇️ Speel met de talen en frameworks door ze met je muis te vangen !

project image 0
project image 1
project image 2
project image 3

Eigenaardigheden

🤔 Een API is al een technisch concept. Tot nu toe maakt dit waarschijnlijk niet veel sense. Dus, hoe kan iemand bavianenafbeeldingen krijgen zonder via Google te gaan? Slechts één oplossing: een visualisatiewebsite !

🧱 Na de creatie van de Baboon API heb ik het Vue framework en de TypeScript taal gebruikt om een kleine site te maken die de mogelijkheden van de Baboon API toont. Het stelde me in staat om weer met Vue te werken en een origineel ontwerp te testen.

📡 Een API is een server-side programma. De API die ik heb gemaakt, scant een map vol foto's en retourneert een of meer ondertekende URLs. Het nut van dit project zou echter beperkt zijn geweest als de map slechts 5 of 10 afbeeldingen bevatte... In dit soort toepassingen worden meestal enkele honderden opgeslagen. Aangezien ik geen dagen wilde besteden aan het doorzoeken van internet om bavianenfoto's op te slaan, besloot ik de wereld van web scraping te betreden !

🤖 Met de Puppeteer bibliotheek is het inderdaad mogelijk om deze taak in JavaScript te automatiseren. Nadat ik wat tijd had besteed aan het opzetten ervan, kon ik een bot starten en hem al het vuile werk in enkele tientallen seconden laten doen !

Uitdagingen

🎯 Naar mijn mening kon dit project niet worden gerealiseerd zonder zijn webtegenhangers (visualisatiesite) en web scraping (lokaal hulpmiddel om de afbeeldingsvoorraad vast te stellen). Het was dus noodzakelijk om volhardend te zijn en geïnteresseerd te zijn in veel verschillende disciplines, waarvan sommige volledig onbekend voor mij waren (web scraping).

🧪 Bovendien zijn Bun en ElysiaJS zeer jonge tools met beginnende gemeenschappen. Er zijn weinig bronnen beschikbaar, omdat weinig mensen ze hebben geprobeerd, wat het implementeren van ogenschijnlijk eenvoudige functies moeilijk kan maken.

Motivaties

💡 Als ontwikkelaar gebruik ik af en toe generieke APIs—vaak dezelfde. En als ze een dierenthema hebben, zijn het altijd honden of katten...

🚀 Aan de andere kant volgde ik online cursussen over de Bun runtime en het ElysiaJS framework. Toen kwam het idee bij me op om een openbare API te creëren zoals de ones die ik gebruikte, met behulp van mijn nieuwe vaardigheden, terwijl ik een origineel dier aanbood.

Wat nu ?

🔍 Hoewel het bouwen van een web scraper zeer leerzaam was, denk ik niet dat ik de wens of behoefte heb (voor nu) om dit soort oefening te herhalen. Als dat ooit het geval wordt, zou ik waarschijnlijk van programmeertaal veranderen: het is gebruikelijker (en dus gemakkelijker) om te scrapen in Python dan in JavaScript. Men zou zich heel goed een rol voor AI kunnen voorstellen bij het herkennen van duplicaten en kwaliteitsfiltering (wat ik deze keer handmatig heb gedaan)

📈 Momenteel is de API-visualisator uitgerust met een bezoektracker met behulp van Google Analytics. Als ik op een dag zie dat mijn tool veel verzoeken ontvangt, zal ik de applicatie evolueren met Docker en Kubernetes om een betere distributie van de webservice te garanderen.