medium complexity extracted Notifications Confidence: 100%
6
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

Push Notifications delivers real-time alerts to peer mentor and coordinator devices via FCM (Android) and APNs (iOS). The system handles delivery of assignment dispatches, approval status updates, event reminders, and coordinator follow-up prompts. Notification payloads are constructed server-side and routed through the appropriate platform adapter, with delivery receipts tracked in the database. Deep-link routing from notification tap navigates the user directly to the relevant screen within the app.

User Flow

Push Notifications user flow
Click to expand

Analysis

Business Value

Push notifications are the primary engagement mechanism for a mobile-first platform where users are not expected to open the app proactively. For peer mentors, timely alerts about new assignments or upcoming events directly increase activity completion rates and reduce missed follow-ups. For coordinators, real-time signals about pending approvals and overdue activities reduce administrative lag. The Hørselsforbundet workshop specifically cited scenario-based push messages as a key lever for improving the 40% dissatisfaction rate with peer mentor follow-up. Reliable push delivery is therefore a direct driver of both user retention and measurable program outcomes.

Implementation Notes

The Flutter app registers a push token on login via firebase_messaging (FCM) and the iOS APNs entitlement; tokens are persisted to the push_tokens table per device. The Next.js backend sends notifications through firebase-admin (FCM) and node-apns or a unified provider such as OneSignal. Notification payloads include a data object with entity_type and entity_id for deep-link routing on the client. The FCM/APNs Adapter component abstracts provider-specific calls behind a single NotificationGateway interface. Token refresh and device deregistration on logout are handled to prevent stale deliveries. Background message handling in Flutter uses onBackgroundMessage with a top-level handler to ensure delivery when the app is in the background or terminated.

Components (112)

User Interface (2)

Service Layer (3)

Infrastructure (1)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.