Ronald Kerssies | Jan 3, 2023

MVC - MiddleWare & Services

Voorkennis
  • programmeer-basics, functions, databases, MVC-basics, git
  • routes, controllers, actions, views, layouts, services, middleware
Doel
  • het opbouwen van een skelet-applicatie in een framework, zodat deze het startpunt is voor alle toekomstige web-applicaties die gebruikmaken van het gekozen framework
  • ervaringen op doen in een MVC-framework dat in het bedrijfsleven frequent wordt ingezet
  • Optimaal gebruik van MiddleWare, Services (PHP), het Request-object en het Response-object
PHP Logo C# Logo

Taken: Voer de code uit volgens “best practice” en eerder geleerde technieken. Deze opdrachten moet met een professioneel MVC-framework worden uitgevoerd, zoals:

  • LARAVEL
  • C#
    Building a skeleton-project C# Logo (part 3)

  1. Maak een applicatie in een framework met de volgende werking;
  • als bezoeker wil ik mij kunnen registreren, zodat ik zelf ook toegang krijg tot beveiligde content
    • kanttekening 1: leeftijdscheck >= 18 jaar
    • bij het benaderen van een url zonder rechten voor administrators, wordt er een redirect gedaan naar de inlog-pagina
    • kanttekening 2: er wordt gebruik gemaakt van emailverificatie
  • meta-tags en seo kunnen worden geoptimaliseerd met behulp van services
  • de naam in de browser-tab wordt bijgewerkt m.b.v. services
  • het email-account wordt bewaard in de config-file en goed beveiligd


! In het framework zijn de volgende technische eigenschappen toegepast:
  • middleware
  • middleware op routes
  • services
  • eigen gemaakte classes staan in de lib-folder met namespaces, zoals die voor email-, pdf- en andere mogelijkheden.
Op te leveren
  • een web-applicatie die is opgebouwd met een MVC-framework (Laravel)
    • optimaal gebruik van de mogelijkheden van het framework
    • bezoekers kunnen de content en gallery bekijken
    • een inlogsysteem met o.a. registratie voor 18+, password-forgot
    • content-beheer met validatie (front- en backend) voor de rol administrator
    • aantonen dat het gebruik van abstracte database-verzoeken kan worden toegepast (eloquent alike)
    • aantonen dat eigen gemaakte classes op een structurele manier worden opgeslagen en beschikbaar gesteld via namespaces worden
    • prettige look n feel, seo-geoptimaliseerd