low complexity extracted Notifications Confidence: 100%
3
Components
32
Shared
0
User Stories
Yes
Analyzed

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

Notification Settings user flow
Click to expand

Analysis

Business Value

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.

Implementation Notes

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)

User Interface (1)

Service Layer (1)

Data Layer (1)

Shared Components

These components are reused across multiple features

User Stories

No user stories have been generated for this feature yet.