low complexity extracted Home & Navigation Confidence: 100%
3
Components
18
Shared
0
User Stories
Yes
Analyzed

Description

App Settings & Preferences provides users with a consolidated screen for controlling personal application behavior, including notification preferences, display options, and account management actions such as sign-out. Accessible via the hamburger menu, the screen covers all user-configurable options in one discoverable location. Preferences are persisted locally in the encrypted Drift database and synced to the backend so user choices survive reinstallation and device migration.

Sources & reasoning

The source explicitly lists Settings as a named screen type and specifies hamburger menu access as the entry point. The design token system requirement at line 305 confirms the settings surface must honour accessibility constraints. Blueprint marks this MVP and all workshop organizations expect standard app configurability from launch. Fase 1 core mobile scope implies MVP delivery with no later phase evidence.

Analysis

Business Value

A structured settings screen reduces support overhead by enabling users to self-serve on common configuration tasks such as notification tuning and display preferences. For an accessibility-critical platform serving users with diverse sensory and cognitive needs, user-controlled display settings are functional requirements, not conveniences. Persisting preferences across devices ensures peer mentors do not need to reconfigure the app after reinstallation, eliminating friction for the lower-digital-literacy segments described across all workshop organizations.

Implementation Notes

PreferencesService stores typed key-value preference pairs in the Drift local database and propagates changes to the backend REST API via the standard mutation outbox to handle offline edits. PreferencesRepository abstracts local vs. remote persistence so the service layer remains agnostic to storage backend. SettingsScreen uses the design token system throughout to meet WCAG 2.2 AA contrast and touch-target requirements. Changes to notification-related preferences propagate to NotificationPreferenceRepository without a separate save step, keeping the UX consistent with user expectations.

Quality Assurance

Peer Mentor (primary) · Coordinator (same flow)
1
Scenarios
6
UAT Steps
21
A11y Annotations
2
Role Boundaries
Peer Mentor

Peer Mentor

Quick UAT

  1. Logg inn i appen som Likeperson. Trykk på hamburgermeny-ikonet øverst i hjørnet.
  2. Bekreft at Innstillinger-skjermen åpnes med seksjoner for varslingsinnstillinger, visningsvalg og kontoadministrasjon.
  3. Endre én varslingsinnstilling (f.eks. skru av push-varsler). Bekreft at endringen lagres umiddelbart og vises korrekt ved gjenåpning av skjermen.
  4. Endre ett visningsvalg (f.eks. tekststørrelse eller kontrastnivå). Bekreft at endringen reflekteres i appens utseende uten omstart.
  5. Trykk på Logg ut. Bekreft at du sendes til innloggingsskjermen og at sesjonen avsluttes.
  6. Logg inn igjen og åpne Innstillinger på nytt. Bekreft at preferansene fra forrige økt er bevart.

Quick UAT — Accessibility

  1. Logg inn i appen som Likeperson. Trykk på hamburgermeny-ikonet øverst i hjørnet.
    • Screen reader Hamburgermeny-knapp annonseres som 'Meny' eller 'Åpne navigasjonsmeny'; fokus plasseres på første element i menyen.
    • Keyboard / focus Tab-rekkefølge: hjemskjerm-innhold → hamburgermeny-knapp; Enter åpner menyen.
    • Touch target Hamburgermeny-knapp ≥ 24×24 CSS px.
  2. Bekreft at Innstillinger-skjermen åpnes med seksjoner for varslingsinnstillinger, visningsvalg og kontoadministrasjon.
    • Screen reader Sideoverskrift 'Innstillinger' annonseres; seksjonsoverskrifter leses opp ved navigasjon med overskriftstast.
    • Keyboard / focus Tab-rekkefølge følger visuell rekkefølge: seksjonsoverskrift → første kontroll i seksjonen.
    • Zoom Alle seksjoner og kontroller lesbare ved 200 % zoom uten horisontal scrolling.
  3. Endre én varslingsinnstilling (f.eks. skru av push-varsler). Bekreft at endringen lagres umiddelbart og vises korrekt ved gjenåpning av skjermen.
    • Screen reader Bryter annonseres med navn og gjeldende tilstand ('Push-varsler, på'/'av'); tilstandsendring annonseres umiddelbart.
    • Focus visibility Synlig fokusring på bryteren; label koblet til kontrollen via semantisk assosiasjon.
    • Touch target Bryterens trykkmål ≥ 24×24 CSS px.
    • Live region 'Innstilling lagret' annonseres via polite live region etter vellykket lagring.
    • Contrast Bryter-indikator formidler tilstand via form/posisjon i tillegg til farge; 4.5:1 kontrast på label-tekst.
  4. Endre ett visningsvalg (f.eks. tekststørrelse eller kontrastnivå). Bekreft at endringen reflekteres i appens utseende uten omstart.
    • Screen reader Visningskontroll (f.eks. slider eller select) annonseres med navn, gjeldende verdi og verdiområde.
    • Keyboard / focus Piltaster endrer sliderverdi; Tab/Enter bekrefter valg i dropdown.
    • Live region 'Visningsinnstilling oppdatert' annonseres etter anvendelse.
    • Zoom Forhåndsvisning av endring er lesbar ved 200 % zoom.
  5. Trykk på Logg ut. Bekreft at du sendes til innloggingsskjermen og at sesjonen avsluttes.
    • Screen reader Logg ut-knapp annonseres med navn; etter utlogging annonseres innloggingsskjermens overskrift.
    • Focus visibility Fokus flyttes til første interaktive element på innloggingsskjermen etter utlogging.
    • Touch target Logg ut-knapp ≥ 24×24 CSS px.
    • Contrast Logg ut-knapp har 4.5:1 kontrast mot bakgrunn.
  6. Logg inn igjen og åpne Innstillinger på nytt. Bekreft at preferansene fra forrige økt er bevart.
    • Screen reader Innstillinger-skjermen annonseres med korrekte bevarte verdier (f.eks. 'Push-varsler, av').
    • Keyboard / focus Tab-rekkefølge og fokushåndtering identisk med første besøk.

Role Boundaries

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

    Organisasjonsadministrator logger ikke inn i mobilappen; Innstillinger-skjermen er ikke tilgjengelig fra admin-portalen. Forsøk på deep-link til innstillingsskjermen fra admin-kontekst returnerer 403.

  • Global Administrator

    Global administrator har ikke mobilapp-tilgang; innloggingsflyten omdirigerer til admin-portalen. Innstillinger-skjermen er ikke eksponert.

Expected End State

Alle endrede preferanser er persistert i den krypterte Drift-databasen lokalt og synkronisert til backend. Preferansene overlever avinstallering og enhetsbytte. Utlogging avslutter sesjonen rent og returnerer brukeren til innloggingsskjermen.

User Stories

No user stories have been generated for this feature yet.