Profile Data & Settings
Feature Detail
Description
Provides each Meander user with a personal profile screen where they can view and edit their own profile data (display name, contact info, language) and configure account-level settings. This is the canonical landing point for "my account" actions in the mobile app and underpins every role-aware surface that needs to know who the current user is. Profile data is stored in the user_profiles table, while preferences (notification defaults, theme, language) live in user_preferences. Edits sync via the standard offline-first outbox so changes made offline reconcile on next connection.
Sources & reasoning
Profile Data & Settings is the canonical 'my account' surface; the source explicitly lists Settings and preferences as an MVP screen and Subprocessors.md mandates application-level encryption for profile name/phone. Placed in MVP because every role-aware feature depends on accurate profile data from day one.
-
docs/source/likeperson.md · line 223-224Settings and preferences
-
docs/source/likeperson.md · line 190-190Peer Mentor (Likeperson): Creates and tracks activities and follow-ups. Logs in to the Mobile App only. Beginner-level digital skills assumed.
-
docs/source/Subprocessors.md · line 7-7Brukerprofiler, e-post, bcrypt-passordhasher... Navn og telefonnummer krypteres pÄ applikasjonsnivÄ (AES-256-GCM) fÞr lagring.
Analysis
A reliable profile screen is foundational: every other feature that personalises the experience (role-specific home, organisation labels, notification preferences, Bufdir attribution) depends on accurate, user-maintainable profile data. Letting users keep their own data current reduces coordinator/admin support load and improves data quality for Bufdir reporting, where missing or stale contact info directly undermines the funding case. For volunteers with beginner-level digital skills (explicitly called out in the workshop summary), a clear, low-friction "my profile" screen also builds trust in the app as their personal tool, not just a reporting funnel imposed on them.
Flutter screen backed by Riverpod state, reading and writing through the REST API client with optimistic mutations and automatic rollback on failure (same pattern as contact edits). Persistence uses the user_profiles + user_preferences tables; sensitive fields (name, phone) follow the AES-256-GCM application-level encryption rule from Subprocessors.md before they leave the device. WCAG 2.2 AA applies from day one: 4.5:1 contrast, â„24Ă24 touch targets, full keyboard/screen-reader support, visible focus, sensitive-field readout warning hooked into the same primitives used elsewhere. Edits flow through Drift + sync outbox so offline changes reconcile cleanly.
Quality Assurance
Peer Mentor (primary) · Coordinator (same flow)Peer Mentor (Likeperson)
Quick UAT
- Logg inn i Meander Mobile App som likeperson og Äpne hamburger-menyen fra startskjermen.
- Trykk pÄ Min profil for Ä Äpne profilskjermen og bekreft at navn, e-post og telefon vises korrekt.
- Trykk Rediger, endre telefonnummer til et nytt gyldig nummer og bytt sprÄkvalg fra BokmÄl til Nynorsk.
- Trykk Lagre og bekreft at bekreftelsesmelding vises og at skjermen gÄr tilbake til lesemodus med oppdaterte verdier.
- Lukk og Äpne appen pÄ nytt, gÄ tilbake til Min profil og verifiser at det nye telefonnummeret og sprÄkvalget er bevart.
Quick UAT â Accessibility
-
Logg inn i Meander Mobile App som likeperson og Äpne hamburger-menyen fra startskjermen.
- Screen reader TalkBack/VoiceOver annonserer 'Meny, knapp' ved fokus; menyen Äpnes med 'Meny utvidet'.
- Keyboard / focus Hamburger-knapp er nÄbar via Tab fra topp av skjerm; aktiveres med Enter/Space.
- Touch target Meny-ikonet er minst 24Ă24 CSS-piksler.
-
Trykk pÄ Min profil for Ä Äpne profilskjermen og bekreft at navn, e-post og telefon vises korrekt.
- Screen reader Sideoverskrift 'Min profil' annonseres ved navigasjon; hvert felt leses opp som 'label, verdi'.
- Focus visibility Synlig fokusring pÄ Min profil-menyvalg; fÞrste interaktive element pÄ profilskjermen fÄr fokus etter navigasjon.
- Zoom Layout brukbar ved 200 % zoom uten horisontal scroll.
-
Trykk Rediger, endre telefonnummer til et nytt gyldig nummer og bytt sprÄkvalg fra BokmÄl til Nynorsk.
- Screen reader Rediger-knapp annonseres som 'Rediger, knapp'; tekstfelt annonseres med label 'Telefonnummer, redigerbar'; nedtrekksliste annonserer valgt sprÄk.
- Keyboard / focus Tab-rekkefĂžlge fĂžlger visuell rekkefĂžlge: Navn â E-post â Telefon â SprĂ„k â Lagre; piltaster velger i sprĂ„k-nedtrekksliste.
- Focus visibility Tydelig fokusring rundt aktivt felt; sensitive felter (telefon) markert med readout-advarsel.
-
Trykk Lagre og bekreft at bekreftelsesmelding vises og at skjermen gÄr tilbake til lesemodus med oppdaterte verdier.
- Focus visibility Fokus flyttes til bekreftelsesmelding eller tilbake til Rediger-knappen i lesemodus.
- Live region 'Profil lagret. Endringene er bekreftet.' annonseres via polite live region.
-
Lukk og Äpne appen pÄ nytt, gÄ tilbake til Min profil og verifiser at det nye telefonnummeret og sprÄkvalget er bevart.
- Screen reader Profilfelter leses opp med nye verdier; appens UI-sprÄk reflekterer Nynorsk-valget i menyetiketter.
- Contrast Tekst i profilfelter har minimum 4.5:1 kontrast mot bakgrunn.
Role Boundaries
2 role(s) must NOT access this feature-
Global Administrator
Global Admin logger ikke inn i mobilappen; profilskjermen er ikke i navigasjonen og deep-link returnerer 403.
-
Prospective Buyer
Har ingen mobil-app-konto; innloggingsforsĂžk avvises og profilskjerm er utilgjengelig.
Expected End State
Brukerens oppdaterte personinformasjon, kontaktdetaljer og sprÄkvalg er lagret i user_profiles og user_preferences, vises umiddelbart i lesemodus, og er bevart etter omstart av appen.
Components (5)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.