Push Notifications
Feature Detail
Description
Push Notifications deliver real-time alerts to peer mentors and coordinators on iOS and Android devices for events such as new assignments, approval status changes, and scheduled reminders. The system integrates with platform-native notification services (FCM for Android, APNs for iOS) and respects user preferences and quiet hours. Notifications are localized and accessible, with semantic labels for screen readers and configurable priority levels per scenario type.
Sources & reasoning
Notifications inbox is part of mobile MVP navigation (line 215, 224), and the subprocessor list explicitly plans FCM + APNs for push. Push is the foundational delivery channel for assignment/approval/reminder scenarios mentioned throughout, so it is must-have MVP.
-
docs/source/likeperson.md · line 215Bottom nav with 5 tabs: Home, Contacts, Add (modal launcher for Activity and Event wizards), Work, Notifications
-
docs/source/Subprocessors.md · line 17-18Google LLC (Firebase Cloud Messaging) | Push-varsler til Android-enheter (FCM). | Planlagt | Apple Inc. (Push Notification Service) | Push-varsler til iOS-enheter (APNs). | Planlagt
Analysis
Push notifications are the primary engagement mechanism that keeps volunteers active and informed without requiring them to open the app. By surfacing assignments, approvals, and reminders the moment they happen, the platform reduces response times for time-sensitive operations like encrypted assignment dispatch and follow-up reminders. Without push notifications, peer mentors and coordinators would miss critical events, leading to underreporting and delayed support - directly undermining the platform's core value proposition of reducing administrative friction for volunteers.
Implementation uses Firebase Cloud Messaging (FCM) for Android and Apple Push Notification service (APNs) for iOS, wrapped behind a platform-agnostic Push Service in the Flutter app. Device tokens are registered on login and rotated on logout, stored server-side keyed to user and device. The backend publishes notification payloads through an FCM/APNs Gateway component on Vercel. Payloads include deep-link routes so taps open the relevant screen. WCAG 2.2 AA: notifications must have semantic labels and respect OS-level accessibility settings. Quiet-hours and per-scenario opt-outs are enforced server-side before dispatch.
Quality Assurance
Peer Mentor (primary recipient) · Coordinator (primary recipient) · Organization Admin (subject, mobile surfaces as Coordinator)Peer Mentor (Likeperson)
Quick UAT
- Logg inn i Meander mobilapp som Likeperson og bekreft at push-tillatelse er gitt i enhetsinnstillingene.
- Be koordinator sende et nytt kryptert oppdrag til denne likepersonen (utlĂžsende hendelse).
- LÄs skjermen og vent til push-varselet vises som banner pÄ lÄst skjerm.
- Trykk pÄ varselbanneret og bekreft at appen Äpnes direkte pÄ oppdragsdetaljer for det nye oppdraget.
- Ă pne Innstillinger â Varsler i appen, slĂ„ av kategorien 'Nye oppdrag', og be koordinator sende et nytt oppdrag.
- Bekreft at ingen push leveres for det nye oppdraget mens kategorien er av.
Quick UAT â Accessibility
-
Logg inn i Meander mobilapp som Likeperson og bekreft at push-tillatelse er gitt i enhetsinnstillingene.
- Screen reader VoiceOver/TalkBack annonserer 'Tillat varsler'-dialog ved fÞrste gangs forespÞrsel; knapper 'Tillat' og 'Ikke nÄ' er merket.
- Keyboard / focus Switch Control eller ekstern tastatur kan nÄ dialogknappene i logisk rekkefÞlge.
- Focus visibility Synlig fokusring pÄ 'Tillat'-knapp.
-
Be koordinator sende et nytt kryptert oppdrag til denne likepersonen (utlĂžsende hendelse).
- Screen reader Ingen skjermleserannonsering forventet â hendelsen utlĂžses utenfor enheten.
-
LÄs skjermen og vent til push-varselet vises som banner pÄ lÄst skjerm.
- Screen reader Skjermleser leser opp tittel og kort beskrivelse uten Ä eksponere sensitivt innhold (innhold maskeres pÄ lÄst skjerm).
- Live region 'Nytt oppdrag tilgjengelig' annonseres som varsel av systemet.
- Contrast Bannertekst har minst 4.5:1 kontrast; statusikon er ikke eneste informasjonsbĂŠrer.
-
Trykk pÄ varselbanneret og bekreft at appen Äpnes direkte pÄ oppdragsdetaljer for det nye oppdraget.
- Keyboard / focus Tab-rekkefĂžlge: tilbakeknapp â oppdragstittel â handlingsknapper.
- Focus visibility Etter deep-link settes fokus pÄ oppdragstittel; skjermleser annonserer 'Oppdragsdetaljer'.
- Touch target Banner-trykkmĂ„l er minst 24Ă24 CSS-piksler.
-
Ă pne Innstillinger â Varsler i appen, slĂ„ av kategorien 'Nye oppdrag', og be koordinator sende et nytt oppdrag.
- Screen reader Bryteren annonseres som 'Nye oppdrag, bryter, pÄ' / 'av' med rolle og tilstand.
- Focus visibility Synlig fokusring pÄ bryter; etiketten er programmatisk koblet til kontrollen.
- Touch target Bryteren er minst 24Ă24 CSS-piksler.
-
Bekreft at ingen push leveres for det nye oppdraget mens kategorien er av.
- Screen reader Ingen skjermleserannonsering forventet â fravĂŠr av varsel er testresultatet.
- Zoom Innstillingssiden er fullt brukbar ved 200% zoom uten horisontal scrolling.
Coordinator (Koordinator)
Quick UAT
- Logg inn i mobilappen som Koordinator og bekreft at push-tillatelse er gitt.
- Be en likeperson registrere en aktivitet som krever koordinator-godkjenning (utlĂžsende hendelse).
- LÄs skjermen og vent til push-varselet om ventende godkjenning vises som banner.
- Trykk pÄ varselet og bekreft at appen Äpnes pÄ 'Til godkjenning'-listen med den nye aktiviteten Þverst.
- Aktiver stilletid (quiet hours) i Innstillinger â Varsler for innevĂŠrende tidsrom, og be om en ny aktivitet.
- Bekreft at varselet leveres uten lyd/vibrasjon i stilletid, men vises i varselsenteret nÄr enheten lÄses opp.
Quick UAT â Accessibility
-
Logg inn i mobilappen som Koordinator og bekreft at push-tillatelse er gitt.
- Screen reader Innloggingsskjerm annonseres; tillatelsesdialog leses opp ved fĂžrste gangs forespĂžrsel.
- Focus visibility Synlig fokusring pÄ e-post- og passordfelt.
-
Be en likeperson registrere en aktivitet som krever koordinator-godkjenning (utlĂžsende hendelse).
- Screen reader Ingen skjermleserannonsering forventet â hendelsen utlĂžses utenfor enheten.
-
LÄs skjermen og vent til push-varselet om ventende godkjenning vises som banner.
- Live region 'Ny aktivitet venter pÄ godkjenning' annonseres av systemet.
- Contrast Banner oppfyller 4.5:1 kontrast; tekst er lesbar uten Ă„ vĂŠre avhengig av farge alene.
-
Trykk pÄ varselet og bekreft at appen Äpnes pÄ 'Til godkjenning'-listen med den nye aktiviteten Þverst.
- Screen reader Skjermleser annonserer 'Til godkjenning, liste, 1 nytt element'.
- Focus visibility Fokus settes pÄ listeoverskrift 'Til godkjenning' etter deep-link.
- Touch target Banner og listeelementer er minst 24Ă24 CSS-piksler.
-
Aktiver stilletid (quiet hours) i Innstillinger â Varsler for innevĂŠrende tidsrom, og be om en ny aktivitet.
- Screen reader Tidsvelgere annonseres med rolle 'velg tid' og gjeldende verdi.
- Keyboard / focus Tidsvelgere kan justeres med piltaster pÄ ekstern tastatur.
- Focus visibility Synlig fokusring pÄ 'Aktiver stilletid'-bryter; etikett programmatisk koblet.
-
Bekreft at varselet leveres uten lyd/vibrasjon i stilletid, men vises i varselsenteret nÄr enheten lÄses opp.
- Screen reader NÄr enheten lÄses opp, leser skjermleser opp varslene i varselsenteret i mottatt rekkefÞlge.
- Live region Stille levering â ingen lydlig annonsering, men varsel er tilgjengelig i varsellisten.
Organization Administrator
Quick UAT
- Logg inn i mobilappen som Organisasjonsadministrator (vises som Koordinator pÄ mobil) og bekreft at push-tillatelse er gitt.
- Be en likeperson i organisasjonen registrere en aktivitet som krever godkjenning.
- Bekreft at push-varsel om ventende godkjenning leveres pÄ samme mÄte som for en vanlig Koordinator.
Quick UAT â Accessibility
-
Logg inn i mobilappen som Organisasjonsadministrator (vises som Koordinator pÄ mobil) og bekreft at push-tillatelse er gitt.
- Screen reader Innloggingsskjerm annonseres; brukeren ser samme grensesnitt som en Koordinator.
- Focus visibility Synlig fokusring pÄ innloggingsfelt.
-
Be en likeperson i organisasjonen registrere en aktivitet som krever godkjenning.
- Screen reader Ingen skjermleserannonsering forventet â hendelsen utlĂžses utenfor enheten.
-
Bekreft at push-varsel om ventende godkjenning leveres pÄ samme mÄte som for en vanlig Koordinator.
- Live region 'Ny aktivitet venter pÄ godkjenning' annonseres av systemet.
- Contrast Banner oppfyller 4.5:1 kontrast.
Role Boundaries
2 role(s) must NOT access this feature-
Global Administrator
Global Admin logger ikke inn pÄ mobilappen, har ingen device token registrert, og mottar ingen operasjonelle push-varsler fra Push-tjenesten.
-
Prospective Buyer
Har ingen Meander-konto og ingen mobilapp-tilgang; mottar aldri push-varsler fra plattformen.
Expected End State
-
Peer Mentor (Likeperson)
Push-varsler om nye oppdrag mottas pÄ lÄst skjerm med maskert sensitivt innhold, deep-linker korrekt til oppdragsdetaljer, og respekterer per-kategori varselsinnstillinger (avslÄtte kategorier leverer ingen push).
-
Coordinator (Koordinator)
Push-varsler om ventende godkjenninger mottas i sanntid, deep-linker til 'Til godkjenning'-listen, og respekterer stilletid (ingen lyd/vibrasjon, men varsel synlig i varselsenter ved opplÄsing).
-
Organization Administrator
Identisk leveringsoppfĂžrsel som Koordinator â Org Admin vises som Koordinator pĂ„ mobil og mottar samme push-flow.
Components (5)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.