Stagedag 9 (27 oktober)
Vandaag ben ik verder gaan werken aan de filterknoppen. Als eerst ben ik begonnen een array te bouwen met alle categorieën waarop je moet filteren en ben ik begonnen met het bouwen van een filter. Dat was best een moeilijk stukje, dus ben ik gaan browsen op meerdere websites om een begin te maken en kwam ik op een pagina terecht waarbij werd uitgelegd hoe je filtert op producten, waarbij ik een beetje een test script op heb gemaakt. uiteindelijk heb ik het geprobeerd om dat een beetje over te nemen op voor de app dat resulteerde in best wat errors, die ik met behulp van stackoverflow en ai heb kunnen oplossen en werken de filterknoppen gebaseerd op de categorieën van de ingrediënten die in de json staan.
Stagedag 10 (28 oktober)
Vandaag was de taak om de verdere informatie van de op te halen en in de ingrediëntenkaartjes te stoppen. Het doel was dan ook om de json uit te lezen en vervolgens foto’s erbij te kunnen plaatsen. Als eerst heb ik opgezocht over hoe je de items kan loopen/mappen als een manier om alle data in dat bestand te pakken en op de website te knallen, wat mij erg in de war haalde gezien alles in het bestal als een string stond. Het was wel gelukt om dat originele bestand te kunnen loopen en in de ingredientenkaartjes te zetten. Het volgende probleem dat ik heb aangepakt is dat alle informatie op een klein kaartje ston, dat simpelweg te veel was. Vandaar dat ik een onpress functie heb gemaakt, dat ervoor zorgt dat je naar een nieuwe pagina geleid wordt, waar alle informatie op staat van de json die hij heeft gestuurd in de juiste kaart
Stagedag 12 (30 oktober)
Vandaag had hij mij tutorials gegeven over Django binnen python, waarbij een sqlite database aan gekoppeld is om een kleine webapplicatie te maken met de tutorial. Momenteel ben ik daar halverwege op weg. Het doel daarvan is om later een api te bouwen, door informatie van de database op te halen.
Stagedag 13 (31 oktober)
Vandaag ben ik verder gegaan met het bouwen van een API, waarvan ik later mijn eigen API bouw. Hierbij gebruik ik een framework als Django, dat ongeveer vergelijkbaar is met Laravel wat ik op school heb gekregen, maar meer zelf bouw, gezien het geen prebuild templates heeft voor registratie of database management, waarbij je met commands via docker models en views automatisch kan opzetten. Aan het eind van de dag vertelde hij mij over authenticatie en heeft mij meer informatie verteld over hoe ik mijn eigen functies toevoegen en dat er later social login wordt toegepast. Ook hebben we een gesprek gehad over hoe de loginflow, als dat er geen 2 factor authenticatie komt. Gezien ik wat meer vragen had gesteld over hoe ze het dan doen is. En dat ik later mijn eigen API maak die ik aanstuur via de app.
- Eerste Django lessen met videoreeks.
- Virtuele omgeving maken om Django te draaien
- python database queries schrijven en tonen op de website
- mappenstructuur was in het begin even wennen, gezien er bij elke deel een nieuwe map werd aangemaakt wat alsnog alles liet zien, maar het was niet iets dat ik gewend was.
- een admin panel met users gemaakt, en die rechten kunnen geven op dezelfde manier als dat het in wordpress zou kunnen.
Stagedag 14 en 15 (3 november- 4 november)
-verder met de videoreeks en heb een soortgelijke CRUD systeem gebouwd met tutorials is python. ik had best wat moeite met de syntax, gezien ik niet alles begreep, vandaar dat ik het een paar keer heb moeten bekijken. Ik heb geleerd om een Django applicatie op te zetten met pip, en vandaaruit een webportaal kunnen bouwen om producten toe te voegen, verwijderen en updaten. Ik heb geleerd dat je de forms kan beveiligen door middel van een csrf token, om ervoor te zorgen dat het dat de gestuurde data beschermd wordt en daarbij de juiste data terug ontvangt. Ik had best wat moeite met de syntax, gezien het geen standaard html was, maar alles extend van andere bestanden, waarbij ik best wat typfouten had gemaakt met de {% %} functie dat gebruikt kan worden voor template commands als for loops, maar in dit geval was het voor templates.
Stagedag 16 en 17 (5 november – 6 november)
- Ditmaal heb ik de Django videoreeks afgerond, waarbij ik het CRUD systeem heb afgemaakt en ook begrijp hoe ik een Django project opzet en een database table kan creeren. Bij de videoreeks heb ik eer portaal gebouwd producten kan verwijderen, updaten of creëren. hierbij heb ik een vergelijkbare database voor gebouwd met Django. In plaats van tables te schrijven met sql heb ik models geschreven in python dat vergelijkbare functies heeft als de primary key en of iets uniek is of niet, wat mij wel opviel was dat er in python veel meer libraries van Django allemaal apart geimporteerd moet worden vergeleken als ik het zou schrijven met bijvoorbeeld php of sql. Ook heb ik in python het formulier kunnen schrijven op de frontend en daarbij de passende datatype bij kunnen schrijven op een ander bestand. Ook heb ik geleerd om verschillende views/pagina’s kunnen schrijven, dat een beetje vergelijkbaar was met andere frameworks als express of next.js om hoe je routes definieert. Ook heb ik daarbij gewerkt met de POST request, gezien de data die je invult via een formulier gaat, dat uiteindelijk opgeslagen word. Het formulier had ook wat simpele styling door middel van het bootstrap framework.
Stagedag 18 (7 november)
Vandaag was de taak om de blogpost API op te halen met javascript en die in een nieuwe pagina te zetten, waar je de blogposts kan zien. Dit was een lastige uitdaging, gezien de errors aangegeven errors niet naar de oplossing wijste. Na verschillende pogingen om mijn blogpost in de app te zetten, zoals de api open te stellen via alle beschikbare poorten, een langere timeout omdat de app direct een error aangaf zonder een duidelijke melding. De blog applicatie op een lokale server op mijn computer draaide, maar wel toegang had via de app op de browser. Ook heb ik geprobeerd om de blog te linken via mijn eigen ip adres, omdat mijn apparaten toch op hetzelfde netwerk draaide en zelfs dat werkte niet gezien het al over de timeout limiet war geschreden. Dus was mijn volgende oplossing om de timeout limiet langer te maken in de hoop dat mijn app de api kan fetchen en alle info van de database in de app kan weergeven, maar dat was ook zonder success. Uiteindelijk heb ik rond het eind van de dag de oplossing gevonden en bleek er helemaal niets mis te zijn met de code, maar lag het probleem aan mijn windows defender firewall, gezien de python installer/applicatie zelf geen toegang had om deze functies uit te voeren. En na dat ik het toegang heb gegeven werkte de api binnen mijn app en weergaf het alle data die ik voorheen heb aangemaakt met de videoreeks.