low complexity extracted Notifications & Follow-up Confidence: 100%
5
Components
198
Shared
12
User Stories
Yes
Analyzed

Description

When a peer mentor activates or deactivates the pause function (temporary deactivation without leaving the programme), the system immediately notifies their coordinator with the peer mentor's name, the effective date, and optionally a reason if the peer mentor chose to provide one. The notification appears in both push and in-app channels so the coordinator can redistribute open assignments. When the peer mentor unpauses, the coordinator is notified again so they can re-assign or check in. The peer mentor receives a confirmation notification on both state transitions. This flow ensures no assignment is silently dropped during a pause period and supports NHF and HLF's coordination workflows.

Analysis

Business Value

Addresses the coordination blind spot when peer mentors go on pause. Prevents clients from being left uncontacted and reduces coordinator effort in detecting status changes through manual roster checks.

Implementation Notes

Trigger notification via Supabase database webhook on status column change in peer_mentor_profiles. Include reason field (optional, max 200 chars). Coordinator lookup via org membership table. Reuse existing FCM dispatch function.

Components (203)

User Interface (2)

Service Layer (2)

Infrastructure (1)

Shared Components

These components are reused across multiple features

User Interface (59)

ui Role Switch Widget medium Shared ui Role-Aware Bottom Navigation medium Shared ui Activity Type Selection Screen low Shared ui Speech-to-Text Field Overlay medium Shared ui Receipt Capture Widget medium Shared ui Peer Mentor Single Selector low Shared ui Proxy Audit Badge Widget low Shared ui Export Period Picker low Shared ui Contact Card Widget low Shared ui Contact Search Bar low Shared ui Peer Mentor Card Widget low Shared ui Activity History List low Shared ui Multi-Chapter Affiliation Chip Widget medium Shared ui Certification Status Badge low Shared ui Duplicate Activity Warning Dialog medium Shared ui Mentor Multi-Select Widget medium Shared ui Map Filter Panel medium Shared ui Claim Status Badge low Shared ui Export Date Range Picker low Shared ui Custom Date Range Picker low Shared ui Duplicate Activity Warning Dialog low Shared ui Proxy Activity Form medium Shared ui Proxy Peer Mentor Selector medium Shared ui Expected Return Date Picker low Shared ui Pause Activation Screen low Shared ui Pause Status Indicator low Shared ui Admin KPI Stat Widget low Shared ui Organisation Hierarchy Navigator high Shared ui Bufdir Period Selector Widget low Shared ui Export History List medium Shared ui Activity Type Donut Chart medium Shared ui Monthly Activity Bar Chart medium Shared ui Statistics Period Filter Bar low Shared ui Statistics Summary Cards low Shared ui Notification Badge Widget low Shared ui Certificate Expiry Status Indicator low Shared ui Animated Stat Card Widget medium Shared ui In-App Notification Banner low Shared ui Accessible Modal Sheet Widget high Shared ui Live Region Announcer medium Shared ui Semantics Wrapper Widget medium Shared ui Sensitive Field Warning Dialog high Shared ui Confirm Before Submit Screen medium Shared ui Inline Contextual Help Widget low Shared ui Labelled Navigation Bar low Shared ui Plain Language Error Display low Shared ui Single-Action Screen Layout medium Shared ui Wizard Progress Indicator low Shared ui Accessible Text Style System medium Shared ui Accessible Touch Target Wrapper low Shared ui Contrast-Safe Color Palette Widget medium Shared ui Accessible Bottom Navigation Bar medium Shared ui Modal Close Button low Shared ui Persistent Back Button low Shared ui Vertical Scroll Container low Shared ui Organization Card Widget low Shared ui Terminology-Aware Text Widget low Shared ui FeatureGate Widget low Shared ui Chapter Switcher medium Shared

Service Layer (52)

service Authentication Service medium Shared service Authentication Session Manager medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Biometric Authentication Service medium Shared service Permission Checker Service medium Shared service Role State Manager medium Shared service No-Access Route Guard low Shared service Activity Type Metadata Resolver low Shared service Chapter Scope Resolver medium Shared service Organisation Hierarchy Resolver medium Shared service Coordinator Notification Service medium Shared service Duplicate Activity Detection Service high Shared service Mentor Filter Service low Shared service Receipt Threshold Validator low Shared service Approval Status Notification Service medium Shared service Threshold Evaluation Service medium Shared service Declaration Encryption Service high Shared service Organization Feature Flag Service low Shared service Participant Deduplication Service high Shared service Reporting Period Service medium Shared service Activity Attribution Service low Shared service Proxy Duplicate Detection Service medium Shared service Pause Management Service medium Shared service Pause Notification Service medium Shared service Admin Export Service medium Shared service Admin Row-Level Security Guard high Shared service Organisation Hierarchy Service high Shared service User Management Service high Shared service Role Access Validator low Shared service Peer Mentor Stats Aggregator medium Shared service Push Notification Dispatcher medium Shared service Notification Preference Service low Shared service Scenario Deep-Link Router medium Shared service Scenario Notification Content Builder medium Shared service Badge Criteria Integration medium Shared service Activity Summary Aggregator low Shared service Focus Management Service medium Shared service Screen Reader Detection Service medium Shared service Sensitive Field Privacy Guard high Shared service Plain Language Content Service medium Shared service Wizard State Manager medium Shared service Tab State Manager medium Shared service Organization Route Guard medium Shared service Tenant Context Service high Shared service Label Key Resolver Service low Shared service Organization Labels Notifier medium Shared service FeatureFlagProvider (Riverpod) medium Shared service Access Scope Service high Shared service Hierarchy Aggregation Service high Shared service Hierarchy Service high Shared service Unit Assignment Service medium Shared

Data Layer (33)

Infrastructure (54)

infrastructure Keyboard-Aware Layout Utility low Shared infrastructure Supabase Auth Client low Shared infrastructure Deep Link / OAuth Redirect Handler medium Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase Session Manager medium Shared infrastructure URL Launcher Utility low Shared infrastructure Local Storage Adapter low Shared infrastructure Supabase Activity Client low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client low Shared infrastructure Organisation Field Config Loader medium Shared infrastructure Speech-to-Text Adapter medium Shared infrastructure File Download Handler low Shared infrastructure Duplicate Reviewed Flag Middleware low Shared infrastructure Contact RLS Query Builder low Shared infrastructure Contact Form Validator low Shared infrastructure Design Token Theme low Shared infrastructure Organization Labels Provider low Shared infrastructure Supabase Client Provider low Shared infrastructure Search Debounce Utility low Shared infrastructure Expense Type Analytics Tracker low Shared infrastructure Receipt Image Picker Integration low Shared infrastructure CSV / JSON File Generator medium Shared infrastructure Coordinator Role Guard low Shared infrastructure Nightly Job Scheduler medium Shared infrastructure Supabase RLS Policy Configuration high Shared infrastructure Export File Storage Adapter low Shared infrastructure Supabase Storage Adapter low Shared infrastructure Peer Mentor Pause Management Service medium Shared infrastructure Push Notification Service medium Shared infrastructure fl_chart Adapter medium Shared infrastructure Push Notification Service low Shared infrastructure FCM Push Notification Sender medium Shared infrastructure FCM Notification Dispatcher medium Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Supabase Realtime Subscription Service medium Shared infrastructure Organisation Data Isolation Guard low Shared infrastructure Push Notification Dispatcher medium Shared infrastructure Deep Link Handler medium Shared infrastructure QR Code Generator low Shared infrastructure Share Sheet Bridge low Shared infrastructure Semantics Service Facade medium Shared infrastructure Accessibility Design Token Enforcer medium Shared infrastructure Accessible Theme Builder medium Shared infrastructure Navigation Route Configuration medium Shared infrastructure Accessibility Live Region Announcer low Shared infrastructure Feature Flag Provider low Shared infrastructure Secure Storage Adapter low Shared infrastructure Supabase RLS Tenant Scope Configurator medium Shared infrastructure Label Key Registry low Shared infrastructure Terminology Riverpod Providers low Shared infrastructure WCAG Semantics Label Resolver low Shared infrastructure Feature Flag Key Constants low Shared infrastructure RLS Policy Manager high Shared

User Stories (12)

Configure Notification Preferences for Pause Status Change Alerts
medium 5 pts

As a As a Peer Mentor (Likeperson)

I want to configure which types of pause status change notifications I receive and through which channels (push, in-app, or both)

So that I can manage notification volume according to the size of my mentor network and my personal working style without missing critical compliance-driven events

Acceptance Criteria
  • Given the coordinator opens notification preferences, when they navigate to the pause notifications section, then the notification-preferences-screen shows distinct toggles for: 'Mentor initiates pause', 'Mentor reactivates', 'Certification expiry auto-pause', and 'Reactivation pending acknowledgement'
  • Given the coordinator sets 'Mentor initiates pause' to digest mode, when a mentor pauses, then the pause-notification-orchestrator schedules the notification for the next daily digest batch instead of dispatching immediately
  • Given the coordinator has enabled digest mode for voluntary pauses, when the daily digest runs, then a single consolidated push notification summarises all voluntary pauses that occurred in the previous 24 hours with mentor names and counts
  • +4 more
View Full Story →
Audit Pause History and Notification Log for a Specific Peer Mentor
medium 5 pts

As a As a Peer Mentor (Likeperson)

I want to view a full chronological history of pause events and their associated notifications for a specific peer mentor from the mentor's detail screen

So that I can understand patterns of availability, document compliance actions taken during certification lapses, and provide accurate information when the organisation or Bufdir requires accountability for mentor engagement continuity

Acceptance Criteria
  • Given the coordinator opens a peer mentor's detail screen, when they scroll to the pause history section, then a chronological list of all past pause events is displayed with start date, end date, duration in days, and pause reason for each entry
  • Given a pause was system-initiated due to certification expiry, when the history entry is rendered, then it is visually distinguished from voluntary pauses with a badge labelled 'Auto-paused – Certificate Expired' using the appropriate accent colour
  • Given the coordinator taps on a specific pause history entry, when the detail view opens, then it shows the full notification log for that event: which notifications were sent, to which coordinator, at what timestamp, and the delivery status (delivered, opened, acknowledged)
  • +4 more
View Full Story →
Configure Notification Preferences for Pause Status Change Alerts
medium 5 pts

As a As a Coordinator

I want to configure which types of pause status change notifications I receive and through which channels (push, in-app, or both)

So that I can manage notification volume according to the size of my mentor network and my personal working style without missing critical compliance-driven events

Acceptance Criteria
  • Given the coordinator opens notification preferences, when they navigate to the pause notifications section, then the notification-preferences-screen shows distinct toggles for: 'Mentor initiates pause', 'Mentor reactivates', 'Certification expiry auto-pause', and 'Reactivation pending acknowledgement'
  • Given the coordinator sets 'Mentor initiates pause' to digest mode, when a mentor pauses, then the pause-notification-orchestrator schedules the notification for the next daily digest batch instead of dispatching immediately
  • Given the coordinator has enabled digest mode for voluntary pauses, when the daily digest runs, then a single consolidated push notification summarises all voluntary pauses that occurred in the previous 24 hours with mentor names and counts
  • +4 more
View Full Story →
Audit Pause History and Notification Log for a Specific Peer Mentor
medium 5 pts

As a As a Coordinator

I want to view a full chronological history of pause events and their associated notifications for a specific peer mentor from the mentor's detail screen

So that I can understand patterns of availability, document compliance actions taken during certification lapses, and provide accurate information when the organisation or Bufdir requires accountability for mentor engagement continuity

Acceptance Criteria
  • Given the coordinator opens a peer mentor's detail screen, when they scroll to the pause history section, then a chronological list of all past pause events is displayed with start date, end date, duration in days, and pause reason for each entry
  • Given a pause was system-initiated due to certification expiry, when the history entry is rendered, then it is visually distinguished from voluntary pauses with a badge labelled 'Auto-paused – Certificate Expired' using the appropriate accent colour
  • Given the coordinator taps on a specific pause history entry, when the detail view opens, then it shows the full notification log for that event: which notifications were sent, to which coordinator, at what timestamp, and the delivery status (delivered, opened, acknowledged)
  • +4 more
View Full Story →
View Consolidated Paused Mentor Roster with Expected Return Dates
high 8 pts

As a As a Peer Mentor (Likeperson)

I want to access a dedicated paused-mentor roster screen that lists all currently paused peer mentors in my chapter with their pause reasons and expected return dates

So that I can plan workload distribution, identify mentors approaching their expected return date, and proactively contact mentors who have exceeded their expected return date without reactivating

Acceptance Criteria
  • Given the coordinator navigates to the pause roster, when the screen loads, then the coordinator-pause-roster-screen displays all peer mentors with status 'paused' within the coordinator's access scope, sorted by pause start date descending
  • Given a mentor's expected return date has passed, when the roster renders that mentor's row, then the expected-return-date-picker display shows the date in an overdue color accent (rose/red) and appends an 'Overdue' label
  • Given the coordinator has chapter-level scope for multiple chapters, when they use the chapter filter, then the roster filters to show only paused mentors from the selected chapter without a full page reload
  • +4 more
View Full Story →
Receive Notification and Confirm When a Peer Mentor Reactivates from Pause
high 8 pts

As a As a Peer Mentor (Likeperson)

I want to receive a notification when a paused peer mentor reactivates themselves and be able to confirm or hold the reactivation before the mentor becomes visible to new contact assignments

So that I can verify the mentor is genuinely ready to resume, restore any previous contact assignments, and update the chapter roster without unintentionally routing contacts to a mentor who activated accidentally

Acceptance Criteria
  • Given a paused mentor confirms reactivation via the pause-reactivate-toggle, when the mentor-status-service processes the change, then the coordinator receives a push notification labelled 'Peer Mentor Reactivated' within 5 seconds with the mentor's name and prior pause duration
  • Given the organisation configuration requires coordinator acknowledgement for reactivation, when the mentor reactivates, then the mentor's status is set to 'pending_reactivation' and they do not appear in active assignment flows until the coordinator acknowledges
  • Given the reactivation notification is delivered, when the coordinator views the notification card in the notification centre, then the pause-notification-card renders with an emerald accent to visually distinguish it from pause notifications
  • +4 more
View Full Story →
Receive Automatic Notification When a Mentor's Certification Expires Triggering Auto-Pause
high 13 pts

As a As a Peer Mentor (Likeperson)

I want to receive an automatic notification when a peer mentor's certification expires and the system automatically transitions them to paused status

So that I am immediately aware of compliance-driven unavailability, can initiate the certification renewal process, and can update contact assignments before any service disruption occurs

Acceptance Criteria
  • Given the nightly-scheduler runs and the certification-expiry-checker finds a mentor with an expired certification, when the check completes, then the mentor-status-service sets the mentor's status to 'paused' with pause_reason='certification_expired' within the same nightly job execution
  • Given a mentor is auto-paused due to certification expiry, when the pause-notification-orchestrator processes the event, then the coordinator receives a push notification with the subject 'Certification Expired – [Mentor Name] auto-paused' and a body that distinguishes it from a voluntary pause
  • Given the auto-pause notification is received, when the coordinator taps the notification, then the deep link navigates to the mentor detail screen which shows the certification-expiry-warning-banner prominently at the top of the screen
  • +4 more
View Full Story →
View Consolidated Paused Mentor Roster with Expected Return Dates
high 8 pts

As a As a Coordinator

I want to access a dedicated paused-mentor roster screen that lists all currently paused peer mentors in my chapter with their pause reasons and expected return dates

So that I can plan workload distribution, identify mentors approaching their expected return date, and proactively contact mentors who have exceeded their expected return date without reactivating

Acceptance Criteria
  • Given the coordinator navigates to the pause roster, when the screen loads, then the coordinator-pause-roster-screen displays all peer mentors with status 'paused' within the coordinator's access scope, sorted by pause start date descending
  • Given a mentor's expected return date has passed, when the roster renders that mentor's row, then the expected-return-date-picker display shows the date in an overdue color accent (rose/red) and appends an 'Overdue' label
  • Given the coordinator has chapter-level scope for multiple chapters, when they use the chapter filter, then the roster filters to show only paused mentors from the selected chapter without a full page reload
  • +4 more
View Full Story →
Receive Notification and Confirm When a Peer Mentor Reactivates from Pause
high 8 pts

As a As a Coordinator

I want to receive a notification when a paused peer mentor reactivates themselves and be able to confirm or hold the reactivation before the mentor becomes visible to new contact assignments

So that I can verify the mentor is genuinely ready to resume, restore any previous contact assignments, and update the chapter roster without unintentionally routing contacts to a mentor who activated accidentally

Acceptance Criteria
  • Given a paused mentor confirms reactivation via the pause-reactivate-toggle, when the mentor-status-service processes the change, then the coordinator receives a push notification labelled 'Peer Mentor Reactivated' within 5 seconds with the mentor's name and prior pause duration
  • Given the organisation configuration requires coordinator acknowledgement for reactivation, when the mentor reactivates, then the mentor's status is set to 'pending_reactivation' and they do not appear in active assignment flows until the coordinator acknowledges
  • Given the reactivation notification is delivered, when the coordinator views the notification card in the notification centre, then the pause-notification-card renders with an emerald accent to visually distinguish it from pause notifications
  • +4 more
View Full Story →
Receive Automatic Notification When a Mentor's Certification Expires Triggering Auto-Pause
high 13 pts

As a As a Coordinator

I want to receive an automatic notification when a peer mentor's certification expires and the system automatically transitions them to paused status

So that I am immediately aware of compliance-driven unavailability, can initiate the certification renewal process, and can update contact assignments before any service disruption occurs

Acceptance Criteria
  • Given the nightly-scheduler runs and the certification-expiry-checker finds a mentor with an expired certification, when the check completes, then the mentor-status-service sets the mentor's status to 'paused' with pause_reason='certification_expired' within the same nightly job execution
  • Given a mentor is auto-paused due to certification expiry, when the pause-notification-orchestrator processes the event, then the coordinator receives a push notification with the subject 'Certification Expired – [Mentor Name] auto-paused' and a body that distinguishes it from a voluntary pause
  • Given the auto-pause notification is received, when the coordinator taps the notification, then the deep link navigates to the mentor detail screen which shows the certification-expiry-warning-banner prominently at the top of the screen
  • +4 more
View Full Story →
Receive Immediate Notification When a Peer Mentor Initiates a Pause
critical 8 pts

As a As a Peer Mentor (Likeperson)

I want to receive an immediate push notification and in-app alert when one of my peer mentors initiates a pause on their account

So that I can promptly reassign pending contacts, update the availability roster, and ensure no follow-up activities fall through the cracks during the mentor's absence

Acceptance Criteria
  • Given a peer mentor confirms a pause via the pause-confirmation-dialog, when the mentor-status-service processes the status change, then a push notification is dispatched to the coordinator's device within 5 seconds via the fcm-notification-dispatcher
  • Given the push notification is received, when the coordinator opens the notification, then the notification-deep-link-handler navigates directly to the mentor's detail screen showing the pause-status-banner
  • Given the coordinator opens the notification centre, when they view the pause notification card, then the pause-notification-card displays the mentor name, pause start date, expected return date (if set), and a direct link to the coordinator-pause-roster-screen
  • +3 more
View Full Story →
Receive Immediate Notification When a Peer Mentor Initiates a Pause
critical 8 pts

As a As a Coordinator

I want to receive an immediate push notification and in-app alert when one of my peer mentors initiates a pause on their account

So that I can promptly reassign pending contacts, update the availability roster, and ensure no follow-up activities fall through the cracks during the mentor's absence

Acceptance Criteria
  • Given a peer mentor confirms a pause via the pause-confirmation-dialog, when the mentor-status-service processes the status change, then a push notification is dispatched to the coordinator's device within 5 seconds via the fcm-notification-dispatcher
  • Given the push notification is received, when the coordinator opens the notification, then the notification-deep-link-handler navigates directly to the mentor's detail screen showing the pause-status-banner
  • Given the coordinator opens the notification centre, when they view the pause notification card, then the pause-notification-card displays the mentor name, pause start date, expected return date (if set), and a direct link to the coordinator-pause-roster-screen
  • +3 more
View Full Story →