medium complexity extracted Bufdir Report Generation Confidence: 100%
10
Components
198
Shared
14
User Stories
Yes
Analyzed

Description

Presents a structured, human-readable preview of the Bufdir report before it is exported or submitted, showing all aggregated figures organized by the report's required sections. The preview uses the same field labels and structure as the official Bufdir reporting form so coordinators can cross-reference easily. The preview screen highlights any fields that are empty, below required thresholds, or flagged as potentially anomalous (e.g., zero activities for a category that had entries last year). This validation layer catches issues before the report leaves the app, reducing back-and-forth with Bufdir.

Analysis

Business Value

Builds coordinator confidence in the data before submission. Catches data quality issues (missing registrations, miscategorized activities) at the source, where they can still be corrected, rather than after submission when corrections require formal amendments.

Implementation Notes

The preview layout should mirror Bufdir's official form structure as closely as possible. Accessibility is critical here — screen reader support and sufficient color contrast for warning indicators are required per the project's WCAG 2.2 AA commitment. Consider a diff view for repeat reporters comparing current period to prior period.

Components (208)

User Interface (5)

Service Layer (3)

Data Layer (1)

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

Navigate to export from preview without re-entering period
high 3 pts

As a As a Coordinator

I want the preview screen to provide a direct action to proceed to export while preserving the selected period and scope settings

So that I do not have to re-configure the reporting period after reviewing the preview, reducing friction in the submission workflow

Acceptance Criteria
  • Given I have reviewed the Bufdir preview with no validation errors, When I tap 'Export Report', Then I navigate directly to the export screen with the same period and scope already populated
  • Given I have reviewed the preview and there are validation warnings (non-blocking), When I tap 'Export Report', Then a confirmation dialog explains the warnings and asks me to confirm before proceeding
  • Given I have reviewed the preview and there are blocking validation errors, When I tap 'Export Report', Then the button is labeled 'Export with Errors' and a dialog clearly explains that submission may be rejected by Bufdir
  • +3 more
View Full Story →
Compare current Bufdir report with previous period
high 5 pts

As a As a Coordinator

I want to see a side-by-side or diff view comparing the current reporting period's data against the previous period

So that I can spot unexpected drops or spikes in activity numbers that might indicate data entry errors or genuine trends worth noting in the report narrative

Acceptance Criteria
  • Given I am on the preview screen and a previous period's report exists, When I tap 'Compare with previous period', Then the bufdir-period-diff-view activates and each field row expands to show the previous period's value alongside the current one
  • Given the diff view is active, When a field value has changed by more than 25% from the previous period, Then the change is highlighted with a visual indicator (amber for notable, red for large drops)
  • Given the diff view is active, When a field value is new (did not exist in previous period), Then it is labeled 'New this period' rather than showing a percentage change
  • +3 more
View Full Story →
Review Bufdir category mapping for activity types
high 5 pts

As a As a Coordinator

I want to see how each activity type registered in the app maps to the corresponding Bufdir reporting category

So that I can verify that the category mapping is correct and that no activities have been miscategorized before the data is submitted to Bufdir

Acceptance Criteria
  • Given the preview screen is open, When I navigate to the 'Category Mapping' section, Then I see a list of all internal activity types used in the reporting period alongside their resolved Bufdir category names
  • Given I am reviewing category mappings, When an activity type has no Bufdir category mapping configured, Then it appears in a highlighted 'Unmapped' section and is counted as a blocking validation error
  • Given all activity types are mapped, When I tap on a specific mapping row, Then I see the count of activities of that type in the selected period and their contribution to the Bufdir category total
  • +3 more
View Full Story →
Navigate to export from preview without re-entering period
high 3 pts

As a As a Organization Administrator

I want the preview screen to provide a direct action to proceed to export while preserving the selected period and scope settings

So that I do not have to re-configure the reporting period after reviewing the preview, reducing friction in the submission workflow

Acceptance Criteria
  • Given I have reviewed the Bufdir preview with no validation errors, When I tap 'Export Report', Then I navigate directly to the export screen with the same period and scope already populated
  • Given I have reviewed the preview and there are validation warnings (non-blocking), When I tap 'Export Report', Then a confirmation dialog explains the warnings and asks me to confirm before proceeding
  • Given I have reviewed the preview and there are blocking validation errors, When I tap 'Export Report', Then the button is labeled 'Export with Errors' and a dialog clearly explains that submission may be rejected by Bufdir
  • +3 more
View Full Story →
Compare current Bufdir report with previous period
high 5 pts

As a As a Organization Administrator

I want to see a side-by-side or diff view comparing the current reporting period's data against the previous period

So that I can spot unexpected drops or spikes in activity numbers that might indicate data entry errors or genuine trends worth noting in the report narrative

Acceptance Criteria
  • Given I am on the preview screen and a previous period's report exists, When I tap 'Compare with previous period', Then the bufdir-period-diff-view activates and each field row expands to show the previous period's value alongside the current one
  • Given the diff view is active, When a field value has changed by more than 25% from the previous period, Then the change is highlighted with a visual indicator (amber for notable, red for large drops)
  • Given the diff view is active, When a field value is new (did not exist in previous period), Then it is labeled 'New this period' rather than showing a percentage change
  • +3 more
View Full Story →
Review Bufdir category mapping for activity types
high 5 pts

As a As a Organization Administrator

I want to see how each activity type registered in the app maps to the corresponding Bufdir reporting category

So that I can verify that the category mapping is correct and that no activities have been miscategorized before the data is submitted to Bufdir

Acceptance Criteria
  • Given the preview screen is open, When I navigate to the 'Category Mapping' section, Then I see a list of all internal activity types used in the reporting period alongside their resolved Bufdir category names
  • Given I am reviewing category mappings, When an activity type has no Bufdir category mapping configured, Then it appears in a highlighted 'Unmapped' section and is counted as a blocking validation error
  • Given all activity types are mapped, When I tap on a specific mapping row, Then I see the count of activities of that type in the selected period and their contribution to the Bufdir category total
  • +3 more
View Full Story →
View Bufdir field validation errors before submission
critical 5 pts

As a As a Coordinator

I want to see a consolidated validation summary of all errors and warnings in the Bufdir report before I submit

So that I can resolve data quality issues proactively rather than receiving rejection notices from Bufdir after submission

Acceptance Criteria
  • Given the preview screen has loaded, When there are validation errors, Then the bufdir-validation-summary-banner displays at the top of the screen with a count of errors and warnings
  • Given the validation summary banner is visible, When I tap a specific error item, Then the preview scrolls to and highlights the corresponding field row
  • Given all validation issues are resolved, When I view the preview, Then the validation banner shows a green 'All checks passed' state and the export action is fully enabled
  • +3 more
View Full Story →
Access Bufdir preview with full accessibility support
critical 5 pts

As a As a Coordinator

I want the Bufdir report preview to be fully accessible via screen readers and to comply with WCAG 2.2 AA standards

So that coordinators with visual impairments or using assistive technology can independently review and verify reports without requiring sighted assistance

Acceptance Criteria
  • Given a coordinator using VoiceOver (iOS) navigates to the preview screen, When they swipe through the report, Then each field row is announced as '[Field Name]: [Value]' without requiring visual inspection
  • Given the validation summary banner appears, When the screen loads, Then VoiceOver announces the validation status as a live region update so the coordinator immediately knows if there are errors
  • Given the period diff view is active, When a coordinator using a screen reader navigates to a changed field, Then the accessibility label reads '[Field Name]: current [value], previous [previous value], [increase/decrease] of [percentage]'
  • +3 more
View Full Story →
Preview complete Bufdir report before submission
critical 8 pts

As a As a Coordinator

I want to preview the complete Bufdir report in the official format before submitting it

So that I can verify all data is accurate, complete, and correctly mapped to Bufdir categories before committing to a submission that affects our organization's funding

Acceptance Criteria
  • Given I have selected a reporting period and the data has been aggregated, When I open the Bufdir report preview, Then I see a structured preview screen with all official Bufdir report sections rendered in order
  • Given the preview screen is open, When I scroll through the report, Then each section displays field labels matching Bufdir's official field names alongside the aggregated values from the app's activity data
  • Given the preview is rendering data, When a required Bufdir field has no data, Then the field row is visually flagged and included in the validation summary banner
  • +3 more
View Full Story →
View aggregated participant and activity counts per Bufdir section
critical 8 pts

As a As a Coordinator

I want to see clearly aggregated totals per Bufdir reporting section — including unique participant counts, total activity hours, and geographic distribution — in the preview

So that I can validate that the numbers reflect the actual scope of peer-mentor activity in my organization for the reporting period

Acceptance Criteria
  • Given I open the Bufdir preview for a selected period, When the preview loads, Then I see total activity count, unique peer mentor count, unique participant count, and total support hours at the top of the report
  • Given participant deduplication is applied, When a participant appears in 5 different activities, Then they are counted as 1 unique participant in the Bufdir summary, not 5
  • Given the geographic distribution section, When I view it in the preview, Then participant counts are broken down by county/municipality in a format that matches Bufdir's geographic reporting requirements
  • +3 more
View Full Story →
View Bufdir field validation errors before submission
critical 5 pts

As a As a Organization Administrator

I want to see a consolidated validation summary of all errors and warnings in the Bufdir report before I submit

So that I can resolve data quality issues proactively rather than receiving rejection notices from Bufdir after submission

Acceptance Criteria
  • Given the preview screen has loaded, When there are validation errors, Then the bufdir-validation-summary-banner displays at the top of the screen with a count of errors and warnings
  • Given the validation summary banner is visible, When I tap a specific error item, Then the preview scrolls to and highlights the corresponding field row
  • Given all validation issues are resolved, When I view the preview, Then the validation banner shows a green 'All checks passed' state and the export action is fully enabled
  • +3 more
View Full Story →
Access Bufdir preview with full accessibility support
critical 5 pts

As a As a Organization Administrator

I want the Bufdir report preview to be fully accessible via screen readers and to comply with WCAG 2.2 AA standards

So that coordinators with visual impairments or using assistive technology can independently review and verify reports without requiring sighted assistance

Acceptance Criteria
  • Given a coordinator using VoiceOver (iOS) navigates to the preview screen, When they swipe through the report, Then each field row is announced as '[Field Name]: [Value]' without requiring visual inspection
  • Given the validation summary banner appears, When the screen loads, Then VoiceOver announces the validation status as a live region update so the coordinator immediately knows if there are errors
  • Given the period diff view is active, When a coordinator using a screen reader navigates to a changed field, Then the accessibility label reads '[Field Name]: current [value], previous [previous value], [increase/decrease] of [percentage]'
  • +3 more
View Full Story →
Preview complete Bufdir report before submission
critical 8 pts

As a As a Organization Administrator

I want to preview the complete Bufdir report in the official format before submitting it

So that I can verify all data is accurate, complete, and correctly mapped to Bufdir categories before committing to a submission that affects our organization's funding

Acceptance Criteria
  • Given I have selected a reporting period and the data has been aggregated, When I open the Bufdir report preview, Then I see a structured preview screen with all official Bufdir report sections rendered in order
  • Given the preview screen is open, When I scroll through the report, Then each section displays field labels matching Bufdir's official field names alongside the aggregated values from the app's activity data
  • Given the preview is rendering data, When a required Bufdir field has no data, Then the field row is visually flagged and included in the validation summary banner
  • +3 more
View Full Story →
View aggregated participant and activity counts per Bufdir section
critical 8 pts

As a As a Organization Administrator

I want to see clearly aggregated totals per Bufdir reporting section — including unique participant counts, total activity hours, and geographic distribution — in the preview

So that I can validate that the numbers reflect the actual scope of peer-mentor activity in my organization for the reporting period

Acceptance Criteria
  • Given I open the Bufdir preview for a selected period, When the preview loads, Then I see total activity count, unique peer mentor count, unique participant count, and total support hours at the top of the report
  • Given participant deduplication is applied, When a participant appears in 5 different activities, Then they are counted as 1 unique participant in the Bufdir summary, not 5
  • Given the geographic distribution section, When I view it in the preview, Then participant counts are broken down by county/municipality in a format that matches Bufdir's geographic reporting requirements
  • +3 more
View Full Story →