medium complexity extracted Certification & Training Confidence: 100%
4
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

Course Registration enables peer mentors and coordinators to browse available courses and enroll directly through the mobile app. HLF requires formal course registration tied to certification renewal tracking, while Barnekreftforeningen uses the feature for onboarding new peer mentors and follow-up training sessions. Course completions integrate with the certification workflow to trigger status updates and renewal cycles, ensuring the certification pipeline remains consistent across both organizations.

Sources & reasoning

HLF explicitly requires in-app course registration as part of their certification workflow (line 114), and Barnekreftforeningen shares the need for onboarding and follow-up training (line 123). The priority matrix (line 155) marks this SHOULD Phase 3, confirming v1.1 per third-phase normalization. The feature is foundational to certification-training and directly enables the certificate and renewal reminder features.

  • Kursadministrasjon og sertifisering: PĂ„melding til kurs i appen, automatisk pĂ„minnelse ved utlĂžp, digitale sertifikater. Det fysiske kortet er et «adelsmerke» og skal leve parallelt.
  • Kursadministrasjon (delt med HLF) for opplĂŠring av nye likepersoner og oppfĂžlgingskurs.
  • Kursadministrasjon / sertifisering | ✓ | - | - | ✓ | ✓ | SHOULD (HLF + Barnekreft) | 3

Analysis

Business Value

Course registration directly supports HLF's formal certification pipeline, where peer mentors must complete accredited courses to maintain active status and public eligibility. For Barnekreftforeningen, the feature streamlines onboarding of new peer mentors and follow-up training, ensuring a consistently qualified volunteer base. Reducing friction in course sign-up increases participation rates and improves the quality of peer support delivered to contacts. Centralizing enrollment in the app eliminates manual processes and reduces administrative burden on coordinators managing training logistics across multiple associations.

Implementation Notes

Course data is fetched from the backend REST API and displayed in a paginated list filterable by category and organization using Riverpod state management. Registration state is persisted locally via Drift for offline-first behavior, with background sync confirming enrollment once connectivity is restored. Backend validation prevents duplicate registrations for the same course. For HLF, course completion events trigger certification record updates; for Barnekreftforeningen, completion feeds into peer mentor profile status. Push notifications confirm enrollment and surface session reminders through the existing notification scenarios engine.

Quality Assurance

Peer Mentor (primary) · Coordinator (same flow)
1
Scenarios
5
UAT Steps
20
A11y Annotations
3
Role Boundaries
Peer Mentor

Peer Mentor

Quick UAT

  1. Logg inn i mobilappen som Peer Mentor. Åpne Innstillinger-menyen og naviger til Kurs.
  2. Bla gjennom kurslisten og se at kurs er filtrert etter din organisasjon. Velg et tilgjengelig kurs.
  3. Les kursbeskrivelsen og bekreft at sertifiseringskontekst (f.eks. fornyelseskrav) vises tydelig. Trykk Meld meg pÄ.
  4. Bekreft pÄmeldingsdialogen ved Ä trykke Bekreft pÄmelding.
  5. Bekreft at kurset nÄ vises med status PÄmeldt i kurslisten og at en bekreftelsesmelding vises.

Quick UAT — Accessibility

  1. Logg inn i mobilappen som Peer Mentor. Åpne Innstillinger-menyen og naviger til Kurs.
    • Screen reader Menyknapp annonseres som 'Innstillinger, knapp'; navigasjonspunktet 'Kurs' annonseres med rolle 'menyvalg'.
    • Keyboard / focus Tab-rekkefĂžlge: bunn-navigasjon → hamburger-meny → Kurs-menyvalg.
    • Focus visibility Synlig fokusring pĂ„ hamburger-knapp og alle menyvalg.
    • Touch target Hamburger-knapp og menyvalg ≄ 24×24 CSS px.
  2. Bla gjennom kurslisten og se at kurs er filtrert etter din organisasjon. Velg et tilgjengelig kurs.
    • Screen reader Hvert kortelement annonseres med kursnavn, kategori og tilgjengelighetsstatus.
    • Keyboard / focus Piltaster navigerer listeelementene; Enter Ă„pner valgt kurs.
    • Focus visibility Fokusring synlig pĂ„ hvert kort ved tastaturnavigasjon.
    • Zoom Kurslisten er brukbar ved 200% zoom uten horisontal scrolling.
  3. Les kursbeskrivelsen og bekreft at sertifiseringskontekst (f.eks. fornyelseskrav) vises tydelig. Trykk Meld meg pÄ.
    • Screen reader Kurstittel annonseres som sideoverskrift (h1); Meld meg pĂ„-knapp annonseres med rolle 'knapp' og tilstand.
    • Keyboard / focus Tab nĂ„r Meld meg pĂ„-knapp fra kursbeskrivelsesinnhold; Enter aktiverer.
    • Focus visibility Synlig fokusring pĂ„ Meld meg pĂ„-knapp.
    • Touch target Meld meg pĂ„-knapp ≄ 24×24 CSS px.
    • Contrast Sertifiseringsstatustekst oppfyller 4.5:1 kontrastforhold; status formidles ikke kun via farge.
  4. Bekreft pÄmeldingsdialogen ved Ä trykke Bekreft pÄmelding.
    • Screen reader Modal-dialog annonseres med tittel og beskrivelse ved Ă„pning; Bekreft pĂ„melding-knapp annonseres.
    • Keyboard / focus Fokus fanges i modalen; Tab sykler mellom Avbryt og Bekreft pĂ„melding; Escape lukker uten handling.
    • Focus visibility Fokus flyttes til modal-tittel ved Ă„pning; synlig fokusring pĂ„ begge knapper.
    • Touch target Bekreft pĂ„melding- og Avbryt-knapper ≄ 24×24 CSS px.
  5. Bekreft at kurset nÄ vises med status PÄmeldt i kurslisten og at en bekreftelsesmelding vises.
    • Screen reader Skjermleser annonserer bekreftelsesmelding umiddelbart etter vellykket registrering.
    • Live region 'PĂ„melding bekreftet. Du er nĂ„ registrert pĂ„ kurset.'
    • Contrast PĂ„meldt-statusmerket formidler tilstand via tekst og ikon, ikke farge alene.

Role Boundaries

3 role(s) must NOT access this feature
  • Organization Administrator

    Kursregistrering finnes ikke i admin-portalen; funksjonaliteten er eksklusiv for mobilappen. Deep-link til kurs-skjerm returnerer 403.

  • Global Administrator

    Kursregistrering finnes ikke i admin-portalen og Global Admin har ikke tilgang til mobilappen. ForsÞk pÄ deep-link returnerer 403.

  • Prospective Organization Representative

    Ingen brukerkonto i operasjonelle produkter; tilgang til kursregistrering er ikke mulig.

Expected End State

Peer Mentor er registrert pÄ kurset med status PÄmeldt i CourseRepository. CourseService har sendt fullfÞringstrigger klar for sertifiseringsarbeidsflyt ved kursgjennomfÞring. PÄmeldingspost vises i brukerens kurshistorikk.

User Stories

No user stories have been generated for this feature yet.