medium complexity extracted Coordinator & Admin Tools Confidence: 100%
9
Components
198
Shared
7
User Stories
Yes
Analyzed

Description

Coordinators can register activities on behalf of peer mentors who are unwilling or unable to use the app directly. This covers both individual proxy entries (one peer mentor at a time) and bulk registration for recurring group activities such as weekly training sessions with many participants. The feature is critical for ensuring reporting completeness during the transition period when not all peer mentors have adopted the app. It must prevent double-counting by detecting when the same activity is registered by multiple coordinators, and clearly attribute proxy-entered records to the originating peer mentor rather than the coordinator.

Analysis

Business Value

Prevents underreporting caused by low app adoption among peer mentors. Maintains data completeness for Bufdir grant reporting even when individual peer mentors do not self-report, protecting funding eligibility across all partner organizations.

Implementation Notes

Requires coordinator role check before exposing proxy UI. Bulk registration should pre-fill date and activity type with overridable defaults. Duplicate detection must compare peer mentor ID + date + activity type across all submitters. Store a 'registered_by' field separate from 'attributed_to' for audit purposes.

Components (207)

User Interface (3)

Service Layer (3)

Data 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 (7)

Use a Recurring Template for Repeating Group Activities
medium 5 pts

As a As a Coordinator

I want to save a bulk activity configuration as a recurring template and apply it in future registrations

So that I can register the same weekly group session in seconds each week without re-selecting participants and re-entering details every time

Acceptance Criteria
  • Given I have completed a bulk registration, when I am on the confirmation screen, then I see an option to 'Save as recurring template' with a name field
  • Given I have saved a template named 'Tuesday Group Session', when I enter bulk proxy registration mode in future, then I see a 'Use template' option at the top of the mentor selection screen
  • Given I select a saved template, when it is applied, then the mentor list is pre-selected, activity type is pre-filled, and default duration is set based on the saved template
  • +3 more
View Full Story →
View an Audit Trail of All Proxy Registrations I Have Made
medium 5 pts

As a As a Coordinator

I want to view a log of all activities I have registered on behalf of peer mentors, filtered by mentor and date range

So that I can verify the accuracy of proxy registrations, correct mistakes, and demonstrate compliance if my organization is audited

Acceptance Criteria
  • Given I have made proxy registrations, when I navigate to the proxy audit log in the work tab, then I see a chronological list of all proxy registrations I have made
  • Given the proxy audit log is open, when I filter by a specific peer mentor, then only activities registered on behalf of that mentor are shown
  • Given the proxy audit log is open, when I filter by a date range, then only registrations within that range are displayed
  • +3 more
View Full Story →
Register a Proxy Activity with Pre-filled Default Values to Minimize Effort
high 3 pts

As a As a Coordinator

I want the proxy activity wizard to pre-fill today's date, a default duration of 30 minutes, and the last used activity type when I open it

So that I can complete a proxy registration in as few steps as possible, especially for the most common case of a standard-length individual follow-up session

Acceptance Criteria
  • Given I open the proxy activity wizard for a single mentor, when the form loads, then today's date, 30-minute duration, and the last used activity type are pre-filled
  • Given I open the bulk registration form after a previous bulk registration, when the form loads, then the activity type defaults to the type used in the last bulk registration
  • Given the default values are pre-filled, when I tap confirm without changing anything, then the activity is registered with those defaults without any additional prompts
  • +2 more
View Full Story →
Select Proxy Registration Mode for a Single Peer Mentor
high 5 pts

As a As a Coordinator

I want to select a peer mentor from my roster and enter proxy registration mode on their behalf

So that I can log activities for peer mentors who are unable or unwilling to use the app themselves, ensuring their contributions are captured in the system

Acceptance Criteria
  • Given I am a coordinator on the home screen, when I tap the Add button, then I see an option to register an activity as proxy alongside the standard self-registration option
  • Given I have selected proxy registration mode, when the peer mentor selector opens, then I see a searchable list of peer mentors in my chapter scope only
  • Given I have selected a single peer mentor, when the proxy activity wizard opens, then a prominent proxy audit badge displays the selected mentor's name throughout the wizard
  • +2 more
View Full Story →
Bulk Register a Shared Activity for Multiple Peer Mentors Simultaneously
high 8 pts

As a As a Coordinator

I want to select multiple peer mentors and register the same activity for all of them in a single operation

So that I can efficiently log recurring group activities such as weekly training sessions without having to repeat the same registration process for each participant

Acceptance Criteria
  • Given I am in proxy registration mode, when I choose 'Register for multiple mentors', then a multi-select mentor list opens showing all mentors in my chapter
  • Given I have selected 3 or more mentors, when I proceed, then a single activity form appears where I enter the activity details once for all selected mentors
  • Given I have filled in activity details, when I tap continue, then a bulk confirmation screen displays a list of all selected mentors alongside the activity details before submission
  • +3 more
View Full Story →
Detect and Resolve Duplicate Activities During Proxy Registration
high 8 pts

As a As a Coordinator

I want to be warned when a proxy activity I am about to register appears to already exist for a peer mentor

So that I can avoid creating duplicate records that would inflate statistics and cause compliance issues with Bufdir reporting

Acceptance Criteria
  • Given a peer mentor already has an activity registered for today of type 'Individual follow-up', when a coordinator registers the same type for the same mentor on the same date, then a duplicate warning dialog appears before saving
  • Given the duplicate warning dialog is shown, when I view it, then I can see both the existing record and the new record side by side with all relevant fields
  • Given the duplicate warning dialog is shown, when I choose 'Cancel', then the form stays open and no record is created
  • +3 more
View Full Story →
Restrict Proxy Registration to Peer Mentors Within My Chapter Scope
critical 5 pts

As a As a Coordinator

I want the proxy mentor selection list to show only peer mentors assigned to my chapter or unit

So that I cannot accidentally register activities for peer mentors outside my area of responsibility, and data remains properly scoped to the correct organizational unit

Acceptance Criteria
  • Given I am a coordinator assigned to Chapter Oslo East, when I open the proxy mentor selector, then only peer mentors assigned to Chapter Oslo East are shown
  • Given I am a coordinator with access to two chapters (Oslo East and Oslo West), when I open the proxy mentor selector, then mentors from both chapters are shown with a chapter label on each card
  • Given a peer mentor is not in my chapter, when I attempt to register a proxy activity for them via direct URL manipulation, then the API returns a 403 error and no record is created
  • +2 more
View Full Story →