Notification Settings
Feature Detail
Description
Notification Settings gives users granular control over which types of notifications they receive and via which channels. The settings screen allows peer mentors and coordinators to enable or disable specific notification categories (e.g., new assignments, activity reminders, event updates, coordinator messages) and choose preferred delivery channels (push, email, SMS). Preferences are persisted per user and respected across all notification dispatch paths, ensuring users are never overwhelmed and the platform remains respectful of individual communication preferences.
User Flow
Analysis
User control over notification preferences is both a usability requirement and a legal obligation under GDPR for non-transactional communications. Peer mentors who feel overwhelmed by notifications are more likely to disable them entirely or disengage from the platform, reducing the effectiveness of the scenario engine and operational follow-up. Providing fine-grained preferences increases trust and long-term engagement. For organizations with cognitively diverse user bases (NHF's stroke survivors, Blindeforbundet's visually impaired users), reducing notification noise is a direct accessibility concern and aligns with the platform's WCAG 2.2 AA commitment to cognitive accessibility.
The settings screen is implemented as a Flutter settings page with toggle controls per notification category and channel. Preferences are stored in the notification_preferences table (one-to-one with users) and synced to the backend via REST API on change. The UI uses accessible toggle widgets meeting WCAG 2.2 AA touch target and contrast requirements. Default preferences are set during onboarding based on user role - coordinators default to more categories enabled than peer mentors. The notification dispatch layer reads preferences at send time to filter channels, ensuring settings are enforced server-side and not just client-side for reliability.
Components (35)
Shared Components
These components are reused across multiple features
Service Layer (9)
Data Layer (12)
Infrastructure (7)
User Stories
No user stories have been generated for this feature yet.