API
Project omschrijving
Voor het API vak heb ik een Sudoku-app gebouwd die gebruik maakt van twee APIs: de Sudoku API voor de puzzels zelf, en de icanhazdadjoke API voor een grap wanneer je een puzzel oplost. De moeilijkheidsgraad past zich automatisch aan op basis van hoe lang je doet over een puzzel. Afgeronde puzzels en statistieken worden bijgehouden via localStorage.
Plannen, ontwikkelingen en reflecties
Ik ben week voor week nieuwe dingen gaan toevoegen. Eerst de basis: een sudoku ophalen en weergeven. Daarna Drag & Drop toevoegen zodat je cijfers vanuit een zijpaneel naar het bord kunt slepen in plaats van typen. Dat was technisch het lastigste onderdeel: de Drag & Drop API heeft nogal wat edges en ik moest goed nadenken over de interactie op zowel desktop als mobiel (touch events).
De tijdsmeting werd de basis voor het adaptieve moeilijkheidssysteem: los je snel op, dan krijg je een moeilijkere puzzel de volgende keer. Ik heb ook een overzichtspagina gebouwd met statistieken over opgeloste puzzels per moeilijkheidsgraad, bijgehouden via localStorage. En als je klaar bent, regent het confetti en krijg je ook nog een dad joke.
Het weekjournaal bijhouden hielp me echt om bij te houden wat ik wilde bereiken. Soms nam ik me iets voor wat te groot bleek voor die week, maar zo leerde ik ook beter inschatten wat haalbaar is.
Afbeeldingen
Uitkomsten en inzichten
Dit project leerde me hoe je twee APIs combineert en hoe je localStorage slim inzet voor persistente data zonder een backend. De Drag & Drop API was een echte uitdaging maar ook heel bevredigend om te laten werken. Het adaptieve moeilijkheidssysteem vond ik een leuke touch, want het maakt de app iets persoonlijker voor de gebruiker.
Ik heb ook gemerkt dat een weekjournaal bijhouden je helpt om gestructureerd te werken en terug te blikken op wat je hebt geleerd. Dat neem ik mee naar volgende projecten.