Skip to content

Technisch ontwerp

Op basis van het functioneel ontwerp wordt een technisch ontwerp gemaakt.

Class structuur

Leg de class structuur vast met je team:

  • Beschrijf welke belangrijke entiteiten er zijn en wat die doen.
  • Beschrijf welke architectuur “lagen” jullie gaan toepassen. Denk hierbij bijvoorbeeld aan de toepassing van MVC, Services, enzovoorts.
  • Beschrijf visueel de structuur met een Class Diagram.

Zoveel mogelijk logica in de Backend

Het uitgangspunt moet zijn dat de frontend zo “dom” of “dun” mogelijk is. Dit houdt in dat de Frontend enkel logica mag bevatten om data visueel te representeren en met de Backend API te communiceren. Al het overige, bijvoorbeeld database communicatie, zit dus in de Backend zelf!

Endpoint overzicht

Denk na over welke endpoints er zijn en noteer deze. Beantwoord ook de volgende vragen voor iedere endpoint:

  • Wat doet het endpoint? Iets opslaan? Iets berekenen?
  • Wat voor entiteit(en) geeft het endpoint terug?
  • Wat voor entiteiten ontvangt het endpoint? Is het een GET, POST, anders? Welke parameters zijn er?

Database

De webshop kan niet bestaan zonder een database. Die moet dus ook worden ontworpen met en geimplementeerd. Denk hierbij aan de volgende stappen:

  • Het bestand met product data analyseren.
  • Toepassen van normalisatie bij het ontwerpen van de database.
  • ERD ontwerp maken op basis van product data.
  • EERD ontwerp maken op basis van het ERD.
  • Implementeren van de database.
  • Afstemmen met stakeholders en feedback verwerken.
  • Documenteren in de project repository.

Bijgewerkt .sql-bestand

Er moet ten alle tijden een bijgewerkt .sql-bestand in je repository staan om de database opnieuw mee aan te kunnen maken. Dit bestand kun je met meerdere tools exporteren van een bestaande database, of met de hand maken.

Infrastructuur

Leg vast welke derde partijen er nodig zijn en hoe deze toegepast zullen gaan worden in de applicatie.

Verwachtingen

We verwachten dat het technisch ontwerp ondergebracht wordt in verschillende .md-bestanden in de docs-folder van het project. Ieder teamlid dient hier een evenredige bijdrage aan te leveren!