Ontwerp
Je hebt vooraf nagedacht over technische keuzes en dit heb je inzichtelijk gemaakt. Je kan je project technisch documenteren middels minimaal twee diagrammen (bijv. ERD, klassendiagram en/of flow chart). Je hebt een bestaande library/API toegevoegd (server side) aan je project om functionaliteiten toe te voegen of om het programmeren makkelijker te maken. Je kunt toelichten waarom dit nuttig is.

Mijn API wordt nu aangeroepen door php inplaats van Javascript. Hieronder is de code te zien.
De apiKey heb ik gekregen door een account te maken en een key aan te vragen voor de openweatherAPI van de current weather. De cityname is de city code van Den-Haag waar de bubbleteabar is gevestigd.


Op donderdag 22 april 2021 had je een beoordeling voor dit block. Helaas was het nog niet voldoende. Noteer hierboven, bij de uitdaging(en) die van toepassing zijn, de aanvulling op de leeswijzer voor de herkansing. Neem hierin de feedback van de eerdere poging mee.
Laat de inhoud hieronder staan.
Ontwerp
Je hebt vooraf nagedacht over technische keuzes en dit heb je inzichtelijk gemaakt. Je kan je project technisch documenteren middels minimaal twee diagrammen (bijv. ERD, klassendiagram en/of flow chart). Je hebt een bestaande library/API toegevoegd (server side) aan je project om functionaliteiten toe te voegen of om het programmeren makkelijker te maken. Je kunt toelichten waarom dit nuttig is.
Mijn project
Mijn buildingblock is gemaakt op basis van mijn reserveersysteem project in jaar 1.
Het het een reserveersysteem voor een bubbletea bar. Je kan de bubbletea zelf inelkaarzetten en je kan aangeven wanneer je de bubbleteazaak kan reserveren zodat ze het bezorgen naar je gegeven adres. Ook was het de bedoeling om als bubbleteazaak gereserveerd te kunnen worden door een event. Deze functie heb ik achterwegen gelaten omdat dit minder van toepassing was voor het project.
Je hebt vooraf nagedacht over technische keuzes en dit heb je inzichtelijk gemaakt. Je kan je project technisch documenteren middels minimaal twee diagrammen (bijv. ERD, klassendiagram en/of flow chart).
Ik ben begonnen met het maken van een schets waarin ik een ERD uitwerk.
Hier kijk ik welke functionaliteiten er in de back-end gemaakt moeten worden.

De ERD heb ik verder uitgewerkt in drawsql.app

Ik heb ook een flowchart gemaakt op smartdraw.com

Je hebt een bestaande library/API toegevoegd (server side) aan je project om functionaliteiten toe te voegen of om het programmeren makkelijker te maken. Je kunt toelichten waarom dit nuttig is.
Ik heb een weather API toegevoegd aan mijn website. De reden waarom ik dit heb gedaan is omdat ik een drankjes winkel heb als reserveersysteem, het is handig voor de klanten om te weten hoe het weer is voordat ze bubbletea bestellen. De klanten kunnen dan kiezen uit warme drankjes of koude drankjes.
Ik heb https://openweathermap.org/ gebruikt als API source en hiervan de Current weather API.
Hieronder is de code voor de HTML pagina

Hieronder is de code van de API

Dit is de uitkomt van de API, ik kreeg het niet mooi onder elkaar maar hij doet het. De temperatuur veranderd van farenheit naar Celsius als je erop klikt.

Data
Je hebt een webapplicatie gebouwd op de server die gevoed wordt door een database. De database inhoud kan gelezen, bewerkt en verwijderd worden.
Je hebt een webapplicatie gebouwd op de server die gevoed wordt door een database.
Ik heb een webapplicatie gebouwd die op de server gevoed wordt door een database. In de onderstaande code kan je de database connectie zien. De database connectie staat apart in een includes map.
- overzicht afspraken tonen
De gebruiker hoeft geen account meer aan te maken. Zij moeten hun gegevens invullen tijdens het reserveren.
In het overzicht bij de admin kan de order worden gezien.

- api aanroepen vanuit php

Doormiddel van de code hieronder kan de pagina een connectie maken met de includes pagina de de database aanroept. Ik heb alle connecties en HTML heads in een aparte header.php gestopt zodat ik alleen in de header.php aanpassingen hoef te maken als er globale veranderingen komen.

De database inhoud kan gelezen
Doormiddel van de code hieronder is het mij gelukt om de gegevens van de ingelogde gebruiker uit de database te halen.



Bewerkt en verwijderd worden
Hieronder zie je code staan die data bewerkt met update sql





Hieronder zie je code staan die data verwijderd met delete sql




Beveiliging
Een deel van je website is niet toegankelijk zonder in te loggen. Je form invoer wordt op de server gevalideerd en is beveiligd tegen xss en sql injecties. Wachtwoorden worden veilig opgeslagen.
Een deel van je website is niet toegankelijk zonder in te loggen.
Wanneer je op de website bent zie je een sign up en een login. Wanneer je ingelogd bent dan kan je je profiel zien en je je kan uitloggen. Dus het profiel gedeelte is niet toegankelijk totdat je bent ingelogd.



Je form invoer wordt op de server gevalideerd en is beveiligd tegen xss en sql injecties.
Doormiddel van de code hieronder zorg ik ervoor dat er geen sql injecties kunnen plaatsvinden tijdens de login. Zo is het niet mogelijk om code te injecteren op de site.

Wachtwoorden worden veilig opgeslagen.
Wanneer een gebruiker een account aanmaakt wordt het wachtwoord gehashed, hieronder is de code te zien die het doet.


Hier zie je dat ik de link waar ik ben ingelogd heb gebruikt in een andere browser. Het is de zelfde link maar je krijgt de gegevens van de persoon niet te zien.

Form validatie
Er worden verschillende checks uitgevoerd op het sign up formulier. Alle checks zijn omschreven als comments. Het formulier wordt op de server gevalideerd.


