Skip to content

Organisatorische Context

Stap 1: Beschrijf de organisatorische context

  1. de gebruikers van de infrastructuur?
  2. ontwikkelteam: Het team van 4-5 studenten dat de game ontwikkelt. Zij gebruiken de infrastructuur om de game te bouwen, de backend te onderhouden, en te testen.

  3. Product Owner (Chuck Le) en CTO (Marley Elaine): Stakeholders die de voortgang van het project volgen en beoordelen. Ze gebruiken de infrastructuur voor evaluatie en feedback. Ze geven een beoordeling aan het einde van het blok

  4. Docenten en begeleiders: Zij begeleiden het project en beoordelen de voortgang van het team, en gebruiken de infrastructuur om te evalueren en feedback te geven. Dit doen ze minimaal twee keer in het semester. Het ontwikkel team is zelf verantwoordelijk voor het aanvragen van de feedback.

  5. Welke bedrijfsdoelen ondersteunt de infrastructuur?

  6. Prestaties: De game moet snel en responsief zijn, zelfs wanneer er veel spelers tegelijk actief zijn.

  7. Gebruiksvriendelijkheid: De infrastructuur moet het ontwikkelteam in staat stellen om snel veranderingen door te voeren en de game te verbeteren zonder veel technische obstakels.

  8. Welke interacties vinden plaats tussen gebruikers en de infrastructuur?

  9. Interactie met de game via klikken van buttons in de webbrowser, zoals het oplossen van puzzels of het maken van keuzes. Spelers voeren opdrachten in en krijgen tekstuele reacties van het spel.

  10. Opslaan van voortgang: De infrastructuur slaat de voortgang op, zodat de speler hun sessie later kan hervatten.

  11. Hoe worden gegevens verwerkt, opgeslagen en beveiligd binnen de infrastructuur?

  12. Player Session: Wanneer een speler de game start, wordt er een sessie gecreëerd die tijdelijke gegevens bijhoudt, zoals de keuze van de speler, voortgang en objecten die in de game zijn verzameld. Deze gegevens worden verwerkt door de backend om een dynamische en interactieve ervaring te bieden, terwijl de sessie actief is. Elke keer dat de speler acties onderneemt, worden de gegevens bijgewerkt binnen de sessie.

  13. Veilige communicatie: Alle communicatie tussen de speler en de server wordt beveiligd via HTTPS om te voorkomen dat gegevens worden onderschept tijdens de verzending. Dit is essentieel voor het beschermen van spelersgegevens tijdens de sessie.

Technische Context

Stap 2: Beschrijf de belangrijkste infrastructuur-concepten

Node.js

1. Wat is het?

Node.js is een platform waarmee je JavaScript op een server kunt draaien, buiten de browser. Het maakt het mogelijk om backend-functionaliteit te bouwen, zoals API's, logica en dataverwerking – allemaal met JavaScript.

2. Hoe wordt het gebruikt in “The Game”?

In het deployment diagram zie je twee toepassingen van Node.js:

  • Frontend server: Levert statische bestanden zoals HTML, CSS en JavaScript aan de browser.
  • Backend server: Draait een API gebouwd met Express.js. Deze verwerkt verzoeken van de client, bijvoorbeeld om keuzes of voortgang op te slaan.

3. Waarom is het belangrijk voor het systeem?

Node.js zorgt voor snelle en efficiënte communicatie tussen de client en server. Doordat frontend en backend beide in JavaScript zijn, is de ontwikkeltijd korter en kunnen componenten makkelijker hergebruikt worden. Dit ondersteunt real-time gameplay en snelle reactie op gebruikersinput.

MySQL – Relationele database

1. Wat is het?

MySQL is een relationele database waarin gegevens worden opgeslagen in tabellen. Het gebruikt SQL (Structured Query Language) om data op te vragen, in te voegen of te wijzigen. Het is geschikt voor gestructureerde data met duidelijke relaties.

2. Hoe wordt het gebruikt in “The Game”?

In “The Game” wordt MySQL gebruikt om belangrijke spelgegevens op te slaan:

  • De voortgang van de speler
  • Gemaakte keuzes
  • Gebruikersaccounts

De Node.js backend maakt verbinding met de MySQL server via het MySQL Client/Server protocol.

3. Waarom is het belangrijk voor het systeem?

MySQL zorgt voor een betrouwbare en centrale opslag van speldata. Zonder database zouden gebruikers elke keer opnieuw moeten beginnen. Door gebruik van MySQL is het mogelijk om persoonlijke voortgang op te slaan, meerdere gebruikers te ondersteunen en statistieken te verzamelen.

HTTP/HTTPS

Betekenis volgens de HBO-ICT Knowledgebase:

  • HTTP staat voor HyperText Transfer Protocol. Het is een protocol voor het verzenden van gegevens tussen een client (zoals een webbrowser) en een server.
  • Bij HTTPS wordt deze communicatie versleuteld voor veiligheid.

Toepassing in "The Game":

In het deployment diagram zie je twee verbindingen vanuit de Client browser:

  1. HTTP (application/json) → Deze verbinding gaat naar de Node.js Backend server en wordt gebruikt voor API-verzoeken. Denk aan het opslaan van keuzes, voortgang, enzovoort.

  2. HTTP (text/html/javascript) → Deze verbinding gaat naar de Node.js Frontend server om de webpagina te laden, inclusief HTML, CSS en JavaScript.

Waarom belangrijk?

  • HTTP/HTTPS zorgt ervoor dat de communicatie tussen de gebruiker (in de browser) en de servers goed en veilig verloopt.
  • In een echte productiesituatie zou HTTPS verplicht zijn om gebruikersdata te beschermen tegen afluisteren of manipulatie.