Skip to main content

Frontpage en niveaucontext

Deze map bevat de leerlingusecases voor de leerling-frontpage en de actieve niveaucontext. Het subdomein beschrijft hoe de leerling na login op een veilige, contextgebonden overzichtspagina terechtkomt en hoe frontpageblokken zoals populaire categorieën, recent geoefend en verder oefenen worden samengesteld.

De leerling-frontpage is geen beheerpagina en geen tweede bron van autorisatie. Zij toont afgeleide informatie en vervolgpunten op basis van bestaande domeindata: accountcontext, actieve leerlingrol, niveaucontext, toegankelijke categorieën, oefeningen en exercise runs. Elke vervolgroute naar categorieën, oefeningen, resultaten of hervatten controleert opnieuw server-side of de leerling daar toegang toe heeft.

Usecases

UsecaseOmschrijving
UC-LLN-FP-001 — Leerling-frontpage bekijkenLeerling opent de eigen frontpage met categorienavigatie, samenvattingsblokken en contextgerichte vervolgpunten.
UC-LLN-FP-002 — Actieve niveaucontext toepassenSysteem bepaalt welke niveaucontext bij de leerling-frontpage en vervolgqueries wordt gebruikt.
UC-LLN-FP-003 — Populaire categorieën en oefeningen tonenSysteem toont populaire categorieën en maximaal drie populaire oefeningen per categorie binnen de actuele leerlingcontext.
UC-LLN-FP-004 — Recent geoefend tonenSysteem toont de drie laatst afgeronde oefeningen van de leerling binnen het actieve niveau.
UC-LLN-FP-005 — Verder-oefenenblok tonenSysteem toont een verder-oefenenblok wanneer binnen de actieve context een hervatbare niet-afgeronde run bestaat.

Relevante schermdocumentatie

Scherm / contextRelevantie
Leerling-frontpageCentrale overzichtspagina met categorienavigatie, populaire categorieën, recent geoefend, statistieksamenvatting en verder-oefenencontext.
LeerlingnavigatieToont categorie-ingangen binnen de actuele niveaucontext.
Profiel / niveaukeuzeBron voor het bewust kiezen of herstellen van een verplicht of geselecteerd niveau.
Oefening-startpaginaVervolgroute vanuit categorieën, populaire oefeningen, recent geoefend of verder oefenen.
Geschiedenis / resultaatweergaveVervolgcontext voor afgeronde runs die vanuit recent geoefend kunnen worden geopend.
SysteemnotificatiecomponentWordt pas na normaal laden van de frontpage gecontroleerd via generieke systeemnotificatieusecases.

Domeinafbakening

OnderwerpAfbakening
FrontpageOverzichts- en oriëntatiepagina voor de leerling; geen beheerpagina en geen oefenuitvoering.
NiveaucontextBepaalt binnen welk niveau frontpageblokken en oefenaanbod worden opgebouwd.
Populaire categorieënAfgeleid uit afgeronde exercise runs binnen het actieve niveau en actuele toegang.
Recent geoefendMaximaal drie laatst afgeronde runs binnen de actuele niveaucontext.
Verder oefenenAlleen zichtbaar bij een hervatbare niet-afgeronde run binnen de actuele context.
Oefenaanbod en toegangWordt inhoudelijk uitgewerkt in het subdomein oefenaanbod-en-toegang; deze frontpageusecases verwijzen ernaar.
Oefenen en voortgangHet daadwerkelijk starten, beantwoorden, onderbreken en afronden van oefeningen valt buiten deze map.
Resultaten en geschiedenisResultaatdetails, statistieken, geschiedenis en PDF-export vallen buiten deze map.
ProfielbeheerVerplicht niveau instellen en niveaukeuze blijven onderdeel van profiel/accountflows.

Belangrijke regels

OnderwerpRegel
Server-side contextFrontpageblokken worden opgebouwd vanuit server-side sessie-, rol- en niveaucontext.
Geen frontpagecache als bronDe frontpage gebruikt bestaande domeindata en afgeleide readmodels; er komt geen aparte frontpagebronrecord.
Geen stille niveaukeuzeOefenHub kiest niet willekeurig een standaardniveau wanneer een verplichte of geldige niveaucontext ontbreekt.
Actuele toegangCategorieën en oefeningen op de frontpage moeten actueel toegankelijk zijn voordat zij als vervolgactie worden getoond.
Historie versus actuele toegangHistorische resultaten kunnen blijven bestaan, maar geven niet automatisch actuele start- of hervattoegang.
SysteemnotificatiesSysteemnotificaties blokkeren het laden van de frontpage niet en worden door generieke notificatieusecases verwerkt.
Geen popupregisterDeze usecases gebruiken routeguard-, component- en lege-staatgedrag en introduceren geen nieuwe popupregister-popups.

Diagramgebruik binnen deze usecases

DiagramtypeGebruik
Sequence diagramVoor de interactie tussen leerling, frontend, backend, autorisatielaag en database.
Decision flowVoor keuzes rond leerlingcontext, niveaucontext, beschikbare data en veilige lege staten.
Data lifecycleVoor het onderscheid tussen bestaande brondata, afgeleid readmodel en bewust geen opslag.
State diagramAlleen wanneer een persistent statusobject geraakt wordt; voor deze map meestal niet van toepassing.