high complexity extracted Offline & Sync Confidence: 100%
6
Components
2
Shared
0
User Stories
Yes
Analyzed

Description

Offline Data Support enables the Meander Mobile App to function fully without network connectivity by persisting all operational data locally in an encrypted on-device database. Peer mentors and coordinators can view contacts, log activities, edit notes, and access reference data even when offline. The system provides a visible offline indicator so users understand the current connectivity state and trust that their work is preserved. All locally stored personal data is protected with SQLCipher encryption to meet GDPR and sensitive-data requirements.

Sources & reasoning

Listed as a Mobile App area feature in the canonical taxonomy (§8) and explicitly described in the Mobile App Architecture Core/Shared section as offline-first encrypted persistence. Field-work context in §1.1 makes offline non-negotiable, so MVP.

  • Offline-first persistence (Drift + SQLCipher encrypted local DB, mutation outbox, sync queue with retry/backoff, ID mapping for offline-created entities, conflict resolver)
  • offline-sync | Offline & Sync | Offline Data Support, Background Sync

Analysis

Business Value

Peer mentors frequently work in environments with unreliable connectivity - home visits, rural areas, hospital wards - and any tool that fails offline will drive users back to paper forms, defeating the entire digitalization effort. Offline Data Support is therefore foundational to adoption: it preserves the under-two-clicks activity logging promise regardless of network state, prevents data loss during field work, and gives users the confidence that the app is always available. Encrypted local storage also satisfies GDPR obligations for sensitive personal data on mobile devices, reducing legal and reputational risk for participating organizations.

Implementation Notes

Implementation uses Drift as the typed SQL layer over SQLCipher for AES-256 encryption of the local database file, with the key stored in the platform secure store (Keychain on iOS, Keystore on Android). The local schema mirrors the relevant subset of backend tables (contacts, activities, notes, preferences, organization labels, enabled modules). Riverpod providers read from the local DB first and treat the network as a refresh source rather than a primary. An OfflineIndicator widget subscribes to connectivity state and renders a persistent banner. WCAG 2.2 AA semantics are required on the indicator so screen readers announce state changes.

Quality Assurance

Peer Mentor (primary) · Coordinator (same flow)
1
Scenarios
6
UAT Steps
18
A11y Annotations
3
Role Boundaries
Peer Mentor (Likeperson)

Peer Mentor (Likeperson)

Quick UAT

  1. Logg inn i Meander-mobilappen som Likeperson mens enheten er tilkoblet nett. Åpne Hjem.
  2. SlÄ pÄ flymodus pÄ enheten og vent til offline-indikatoren vises i app-skallet.
  3. Trykk Legg til → Aktivitet. Velg en kontakt fra listen og fullfþr registreringen med standardverdier (dagens dato, 30 min).
  4. Bekreft at den nye aktiviteten vises i Mine aktiviteter med merket 'Venter pÄ synk'.
  5. Åpne Kontakter og bekreft at kontaktlisten lastes fra lokal database uten feilmelding.
  6. SlÄ av flymodus. Bekreft at offline-indikatoren forsvinner og at aktiviteten ikke lenger viser 'Venter pÄ synk'.

Quick UAT — Accessibility

  1. Logg inn i Meander-mobilappen som Likeperson mens enheten er tilkoblet nett. Åpne Hjem.
    • Screen reader TalkBack/VoiceOver annonserer 'Hjem, side 1 av 5' i bunnavigasjonen.
    • Keyboard / focus Bunnav-faner kan nĂ„s med Tab/svepebevegelse i lesemodus.
    • Focus visibility Synlig fokusring pĂ„ aktiv fane.
  2. SlÄ pÄ flymodus pÄ enheten og vent til offline-indikatoren vises i app-skallet.
    • Screen reader Skjermleser annonserer 'Frakoblet. Endringer lagres lokalt.'
    • Live region 'Frakoblet. Endringer lagres lokalt.' annonseres via polite live region.
    • Contrast Offline-indikator bruker bĂ„de ikon og tekst — status ikke kun ved farge; tekstkontrast ≄ 4.5:1.
  3. Trykk Legg til → Aktivitet. Velg en kontakt fra listen og fullfþr registreringen med standardverdier (dagens dato, 30 min).
    • Screen reader 'Legg til, knapp' annonseres; veiviser-steg leses opp som 'Steg 1 av 4'.
    • Keyboard / focus Hele veiviseren kan fullfĂžres med tastatur/svepebevegelse; ingen drag-baserte trinn uten alternativ.
    • Touch target Legg til-knapp og kontaktrader ≄ 24×24 CSS px.
  4. Bekreft at den nye aktiviteten vises i Mine aktiviteter med merket 'Venter pÄ synk'.
    • Screen reader Rad annonseres som 'Aktivitet, [kontaktnavn], i dag, venter pĂ„ synk'.
    • Live region 'Aktivitet lagret lokalt. Venter pĂ„ synk.'
    • Contrast 'Venter pĂ„ synk'-merket har bĂ„de ikon og tekst — status ikke kun ved farge.
  5. Åpne Kontakter og bekreft at kontaktlisten lastes fra lokal database uten feilmelding.
    • Screen reader Listeoverskrift 'Kontakter' annonseres; antall elementer leses.
    • Keyboard / focus Piltaster/svepebevegelse navigerer mellom kontaktrader.
    • Zoom Listen er fortsatt brukbar ved 200 % zoom uten horisontal scrolling.
  6. SlÄ av flymodus. Bekreft at offline-indikatoren forsvinner og at aktiviteten ikke lenger viser 'Venter pÄ synk'.
    • Screen reader Skjermleser annonserer 'Tilkoblet. Synkroniserer.'
    • Focus visibility Fokus beholdes pĂ„ samme rad etter synk; flytter ikke uventet.
    • Live region 'Tilkoblet. Synkroniserer.' etterfulgt av 'Synkronisering fullfĂžrt.'

Role Boundaries

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

    Org Admin logger ikke inn pĂ„ mobilappen som administrator; offline-funksjonen er kun tilgjengelig via mobilappens Likeperson/Koordinator-kontekst. Admin Web Portal har ingen offline-modus — forsĂžk pĂ„ offline-bruk av portalen viser standard nettleserfeil.

  • Global Administrator

    Ingen mobiltilgang; Admin Web Portal er ikke offline-aktivert. Funksjonen er ikke synlig og ikke tilgjengelig.

  • Prospective Buyer

    Ingen pÄlogging og ingen tilgang til mobilappen; offline-funksjonen er ikke eksponert pÄ salgsnettsiden.

Expected End State

Alle handlinger utfÞrt offline (aktivitetsregistrering, kontakt-/notatvisning, proxy-registrering) er lagret i den krypterte lokale databasen og merket 'Venter pÄ synk'. Offline-indikatoren reflekterer korrekt nettverksstatus. NÄr enheten kommer online igjen forsvinner 'Venter pÄ synk'-merket etter at bakgrunnssynkronisering har fullfÞrt, og dataene er identiske med serverversjonen.

User Stories

No user stories have been generated for this feature yet.