132
Total Infrastructure
61
Low Complexity
58
Medium Complexity
13
High Complexity
54
Shared

Infrastructure components provide foundational utilities, system integrations, and supporting functionality for the application.

Local Storage Adapter

Thin wrapper around the SharedPreferences plugin providing typed read/write helpers. Isolates the rest of the codebase from the concrete per...

low Organization Selection Screen
Organization Labels Provider

Infrastructure component that loads and exposes the terminology and label mappings for the selected organization. Drives the OrganizationLab...

low Organization Selection Screen
Keyboard-Aware Layout Utility

Utility widget or mixin providing keyboard-aware scrolling behavior for form screens. Automatically adjusts scroll offset when the software ...

low shared Email and Password Login
Supabase Auth Client

Infrastructure wrapper around the Supabase Flutter SDK's auth module. Provides an injectable singleton client used across all authentication...

low shared Email and Password Login
BankID Provider Client

Integration client for the third-party BankID broker service. Manages session initiation requests, WebView URL generation, and assertion tok...

high BankID and Vipps Login
Deep Link / OAuth Redirect Handler

Intercepts incoming deep links during OAuth flows for both Vipps and BankID. Registers the app's custom URI scheme, parses authorization cod...

medium shared BankID and Vipps Login
Secure Storage Adapter

Thin wrapper around Flutter Secure Storage providing a consistent interface for encrypted local persistence. Used by multiple authentication...

low shared BankID and Vipps Login
Vipps API Client

Low-level HTTP client for the Vipps Login API. Handles endpoint configuration for test and production environments, request signing, and err...

medium BankID and Vipps Login
Vipps Organization Cost Configuration

Configuration component that manages per-organization Vipps client credentials and tracks the cost-sharing agreement across participating or...

low BankID and Vipps Login
Local Auth Integration

Thin adapter around the Flutter local_auth package that abstracts platform-specific configuration for iOS (Face ID / Touch ID) and Android (...

low Biometric Session Authentication
Supabase Session Manager

Centralized service responsible for Supabase session lifecycle operations including token refresh, session validation, and sign-out. Shared ...

medium shared Biometric Session Authentication
Role-Based Route Guard

Integrates with Flutter's StatefulShellRoute and GoRouter to enforce role-based navigation at the routing level. Redirects unauthorized role...

medium Role-Based Access Control
Supabase Role Data Provider

Low-level infrastructure component that queries Supabase for role assignment records. Reads from user JWT claims, user metadata, or a dedica...

low Role-Based Access Control
URL Launcher Utility

Thin wrapper around the Flutter url_launcher package used by the admin portal link widget to open external URLs in the device browser. Provi...

low shared No-Access Screen for Restricted Roles
Local Storage Adapter

Thin wrapper around the device key-value store (SharedPreferences on Flutter) providing a typed, async interface for persisting small prefer...

low shared Quick Activity Registration
Supabase Activity Client

Low-level Supabase client wrapper scoped to the activities table. Abstracts PostgREST query construction and error mapping, providing a type...

low shared Quick Activity Registration
Organization Labels Provider

Riverpod provider that loads and exposes the per-organisation terminology overrides used throughout the app. Extended for activity types so ...

low shared Activity Type Configuration
Supabase Client

Shared singleton that initialises and exposes the Supabase client instance used by all repository layers throughout the app. Configured with...

low shared Activity Type Configuration
Organisation Field Config Loader

Fetches and parses the JSON field configuration stored in Supabase that defines org-specific form fields. Supports adding custom fields per ...

medium shared Structured Post-Session Report
Speech-to-Text Adapter

Wraps Flutter's speech_to_text package and exposes a simplified interface for per-field transcription. Handles microphone permission request...

medium shared Structured Post-Session Report
Accounting Integration Client

Phase 3 integration client providing a unified interface for exporting approved expense records to external accounting systems. Supports bot...

high Travel & Expense Registration
Auto-Approval Edge Function Client

Client-side interface for the Supabase Edge Function that runs server-side auto-approval logic on expense insert. The Edge Function evaluate...

medium Travel & Expense Registration
Expense Threshold Configuration

Configuration provider for organisation-specific expense thresholds including receipt requirement amount (default 100 kr for HLF) and auto-a...

low Travel & Expense Registration
Batch Insert RPC Adapter

Thin adapter wrapping the Supabase RPC function responsible for atomically inserting multiple activity rows in a single database call. Handl...

medium Bulk & Proxy Registration
Stats Cache Invalidator

Listens for Supabase realtime events on the activities table and triggers invalidation of the stats Riverpod provider. Ensures the dashboard...

medium Activity Statistics Dashboard
Supabase Stats Database Views

Backend Supabase SQL views or materialized views that pre-aggregate activity counts, hour totals, and reimbursement amounts grouped by peer ...

high Activity Statistics Dashboard
Bufdir Export Edge Function

Supabase Edge Function that accepts org_id, scope_id, scope_level, and date range parameters and returns either a preview payload or a final...

high Bufdir Report Export
Export Storage Bucket

Supabase Storage bucket configuration for persisting generated export files (PDF, CSV). Files are stored with org-scoped paths and access-co...

low Bufdir Report Export
File Download Handler

Flutter utility that receives a file URL or byte payload from the edge function and triggers the native device download or share sheet. Hand...

low shared Bufdir Report Export
Duplicate Detection BLoC

Flutter BLoC state management unit for the duplicate detection flow. Manages the state transitions between idle, checking, duplicate-found (...

medium Duplicate Activity Detection
Duplicate Reviewed Flag Middleware

Lightweight interceptor layer that injects the duplicate_reviewed field into the activity insert payload based on user resolution decisions....

low shared Duplicate Activity Detection
Contact RLS Query Builder

Utility that constructs Supabase query filters aligned with the Row Level Security policies for the contacts and peer_mentors tables. Transl...

low shared Contact List Management
Contact Form Validator

Client-side validation utilities for the edit contact form, enforcing required field rules, format constraints (e.g., phone number, email), ...

low shared Contact Detail & Edit Screen
Field Encryption Utilities

Utility layer providing decryption of sensitive contact fields stored encrypted in Supabase. Handles key retrieval, decryption logic, and er...

high Contact Detail & Edit Screen
Design Token Theme

Flutter ThemeData extension exposing the project's design token system (colors, typography, spacing, radii) as typed Dart constants. Used by...

low shared Peer Mentor Profile & Status Screen
Organization Labels Provider

Riverpod provider supplying organization-specific terminology strings (e.g., 'peer mentor' vs 'likeperson' vs 'kontaktperson') used in UI la...

low shared Peer Mentor Profile & Status Screen
Supabase Client Provider

Riverpod provider exposing the initialized Supabase client instance to all repository layers. Centralizes client configuration and session m...

low shared Peer Mentor Profile & Status Screen
Certification Expiry Auto-Pause Job

Supabase Edge Function or scheduled PostgreSQL job that runs periodically to detect peer mentors whose certifications have expired and autom...

medium Peer Mentor Pause & Reactivation
Mentor Status BLoC

BLoC state management layer for the pause and reactivation UI flows. Manages async status transitions, loading states, and error handling, e...

low Peer Mentor Pause & Reactivation
Duplicate Warning Event Logger

Infrastructure utility that logs duplicate activity warning events including whether the user dismissed or cancelled the submission. Support...

low Multi-Chapter Membership Handling
Supabase Contact Chapter Adapter

Low-level Supabase client adapter that maps ContactChapter domain objects to and from Supabase database rows. Handles RLS policy compliance ...

medium Multi-Chapter Membership Handling
Search Debounce Utility

Wraps a RxDart or Timer-based debounce around the search input stream to prevent excessive Supabase queries on every keystroke. Configurable...

low shared Contact & Notes Search
Proxy Audit Logger

Records an immutable audit log entry for every proxy registration action. Captures who acted (coordinator), on whose behalf (mentor), what w...

low Coordinator Proxy Registration for Contacts
Location Privacy Configuration

Configuration module that centralizes all privacy-related settings for location data, including data retention policies, consent expiry peri...

low Geographic Peer Mentor Map View
Map Provider Integration

Abstracts the underlying map SDK (flutter_map with OpenStreetMap tiles or Google Maps Flutter plugin) behind a unified interface consumed by...

high Geographic Peer Mentor Map View
PostGIS Spatial Query Adapter

Utility layer that converts Flutter LatLngBounds and coordinate objects into PostGIS-compatible SQL spatial queries executed via Supabase RP...

medium Geographic Peer Mentor Map View
Expense Type Analytics Tracker

Lightweight event tracker that records which expense types are selected and how often mutual exclusion is triggered, providing anonymised us...

low shared Expense Type Selection with Mutual Exclusion
Local Distance Cache

Thin wrapper around Flutter's local storage (SharedPreferences) for persisting the last-used distance per user. Keeps the prefill mechanism ...

low Mileage Reimbursement Entry
Supabase Mileage Adapter

Low-level Supabase client wrapper scoped to the mileage claims and org configuration tables. Translates domain model objects to/from Supabas...

low Mileage Reimbursement Entry
Receipt Image Picker Integration

Wraps the Flutter image_picker package to provide a unified interface for both camera capture and gallery/file-picker selection. Abstracts p...

low shared Receipt Capture and Attachment
Supabase Realtime Approval Subscription

Infrastructure wrapper that manages Supabase Realtime channel subscriptions for the coordinator review queue and for the peer mentor's own c...

medium Threshold-Based Expense Approval Workflow
Threshold Validation Supabase Edge Function

Server-authoritative Supabase Edge Function that re-executes the same threshold evaluation logic as the client-side ThresholdEvaluationServi...

medium Threshold-Based Expense Approval Workflow
Declaration Audit Logger

Records a tamper-evident audit trail for all declaration lifecycle events including creation, delivery, reading, acknowledgement, and revoca...

medium Driver Administration and Confidentiality Declarations
Driver Feature Flag Configuration

Database-backed configuration record controlling the availability of the driver administration and confidentiality declaration feature per o...

low Driver Administration and Confidentiality Declarations
Accounting Credentials Vault

Secure server-side store for per-organization accounting API credentials (Xledger API keys, Dynamics OAuth tokens). Credentials are stored i...

medium Accounting System Export and Integration
CSV / JSON File Generator

Utility that converts structured export records into a downloadable CSV or JSON file. Handles encoding, column ordering, header row generati...

medium shared Accounting System Export and Integration
Supabase Edge Function: Generate Export

Server-side Supabase Edge Function that handles the full export generation pipeline away from the mobile client, preventing accounting crede...

high Accounting System Export and Integration
Activity Category Mapping Configuration

Static configuration that maps the application's internal activity types to Bufdir's official reporting category identifiers. Acts as the au...

low Bufdir Data Aggregation
Supabase Aggregation RPC Functions

PostgreSQL functions deployed to Supabase that execute server-side aggregation logic, performing COUNT DISTINCT, SUM, and GROUP BY operation...

high Bufdir Data Aggregation
Period Selection BLoC

BLoC state management unit for the period selection screen. Coordinates preset loading, custom range changes, record count fetching, and val...

low Bufdir Report Period Selection
Bufdir Preview Accessibility Utilities

Utility functions and constants supporting WCAG 2.2 AA compliance specifically within the Bufdir preview feature. Provides contrast-checked ...

low Bufdir Report Preview
Report History RLS Policy Configuration

Supabase Row Level Security policy definitions for the bufdir_report_history table. Ensures all queries are automatically scoped to the user...

low Bufdir Report History & Audit Log
Bulk Registration Defaults Provider

Riverpod provider that computes and caches default values for bulk registration (current date, most recently used activity type) and persist...

low Proxy & Bulk Activity Registration
Coordinator Role Guard

Utility that enforces coordinator or higher role authorization before granting access to proxy registration UI and service endpoints. Redire...

low shared Proxy & Bulk Activity Registration
Dynamics 365 Portal API Client

HTTP client wrapper for the HLF Dynamics portal API, handling authentication, request formation, retry logic, and error mapping. Abstracts t...

medium Peer Mentor Pause & Status Management
Nightly Job Scheduler

Infrastructure component that schedules and triggers backend cron jobs, specifically the nightly certification expiry check. Built on Supaba...

medium shared Peer Mentor Pause & Status Management
Admin Notification Dispatcher

Dispatches push notifications from admin-triggered actions such as certification reminder sends and bulk reminders to expiring mentors. Wrap...

medium Organisation Admin Portal
Supabase RLS Policy Configuration

Database-level row-level security policy definitions for org_admin and super_admin roles in Supabase. Policies are applied to the users, act...

high shared Organisation Admin Portal
Bufdir PDF Report Generator

Generates a human-readable PDF version of the Bufdir export, formatted according to Bufdir's report template. The PDF is intended for manual...

medium Bufdir Reporting & Export
Excel / CSV File Generator

Generates Excel (.xlsx) and CSV export files from mapped Bufdir rows. Uses a server-side Dart library to produce formatted spreadsheets with...

medium Bufdir Reporting & Export
Export File Storage Adapter

Uploads generated export files and attachment ZIPs to Supabase Storage under organisation-scoped paths. Generates time-limited signed URLs f...

low shared Bufdir Reporting & Export
Supabase Storage Adapter

Wraps the Supabase Storage SDK to provide a typed interface for file upload, deletion, and signed URL generation. Configures bucket-level RL...

low shared Document Attachments for Activities
Certification Expiry Nightly Cron Job

A scheduled backend job that runs nightly to identify certifications approaching expiry and those that have expired on the current day. Invo...

medium Peer Mentor Certification Management
Peer Mentor Pause Management Service

Shared service that handles transitioning a peer mentor into and out of paused status. Used by the certification feature to auto-pause mento...

medium shared Peer Mentor Certification Management
Push Notification Service

Shared infrastructure service for dispatching push notifications to mobile devices. Used by certification reminders to alert peer mentors an...

medium shared Peer Mentor Certification Management
Coordinator Statistics BLoC

BLoC state management unit for the coordinator statistics dashboard. Handles loading, filtering, refreshing, and error states. Subscribes to...

medium Coordinator Statistics Dashboard
Personal Statistics BLoC

BLoC state management unit for the personal peer mentor statistics view. Manages loading and display of individual mentor statistics and del...

low Coordinator Statistics Dashboard
fl_chart Adapter

Thin adapter layer wrapping the fl_chart Flutter library to provide typed, app-specific chart configuration builders. Centralizes chart styl...

medium shared Coordinator Statistics Dashboard
FCM Token Manager

Registers and refreshes Firebase Cloud Messaging device tokens in Supabase, associating them with the authenticated user and device. Handles...

medium Push Notification Delivery
Notification Accessibility Configuration

Configures flutter_local_notifications channels with accessibility-compliant settings including high-contrast notification channel colors, V...

low Push Notification Delivery
Assignment Reminder Cron Trigger

Supabase pg_cron scheduled job or Edge Function cron trigger that invokes the reminder scheduler service on a daily schedule. Handles execut...

medium Assignment Follow-up Reminders
Push Notification Service

Shared infrastructure service that delivers push notifications to mobile devices. Used by the reminder dispatch service to send reminder and...

low shared Assignment Follow-up Reminders
Certificate Expiry Check Edge Function

Supabase Edge Function that runs on a daily cron schedule to query all peer mentors with upcoming or lapsed certification expiry dates. It i...

medium Certificate Expiry Notifications
Certificate Expiry RLS Visibility Policy

Supabase Row Level Security policy configuration that enforces automatic suppression of expired peer mentors from coordinator queries and pu...

medium Certificate Expiry Notifications
FCM Push Notification Sender

Shared infrastructure component responsible for sending push notifications via Firebase Cloud Messaging. Used across certificate expiry noti...

medium shared Certificate Expiry Notifications
FCM Notification Dispatcher

Shared Firebase Cloud Messaging dispatch function that sends push notifications to device tokens and writes in-app notification records to t...

medium shared Pause Status Change Notifications
Pause Status Webhook Handler

Supabase database webhook that fires on INSERT or UPDATE of the status column in the peer_mentor_profiles table. Validates the payload, dete...

low Pause Status Change Notifications
Push Notification Dispatcher

Shared infrastructure component responsible for sending push notifications via the platform push service (FCM/APNs through Supabase). Accept...

medium shared Scenario-based Follow-up Prompts
Scenario Evaluation Edge Function

Supabase Edge Function executed on a scheduled cron trigger (e.g., every hour) that invokes the Scenario Prompt Scheduler Service. Handles a...

medium Scenario-based Follow-up Prompts
Notification Accessibility Announcer

Utility providing screen reader announcements for notification centre state changes. Announces new notification arrivals, unread count updat...

low In-app Notification Centre
Supabase Realtime Subscription Service

Manages Supabase Realtime channel subscriptions for the notifications table, scoped to the current user's user_id. Emits a stream of notific...

medium shared In-app Notification Centre
Screenshot Capture Utility

Wraps the flutter_screenshot or RepaintBoundary approach to render any widget to a PNG byte array without displaying a native screenshot UI....

medium Annual Impact Summary (Wrapped)
Summary Accessibility Provider

Centralises WCAG 2.2 AA accessibility logic for the summary feature. Generates semantically complete strings for each slide type so VoiceOve...

medium Annual Impact Summary (Wrapped)
Wrapped Animation Controller

Manages Flutter AnimationController instances and Rive runtime integrations for the summary presentation. Provides a centralised registry of...

high Annual Impact Summary (Wrapped)
Badge BLoC

Flutter BLoC state management for badge-related UI state including loading earned badges, handling badge earn events, and managing badge det...

medium Achievement Badges & Status Recognition
Badge Criteria Edge Function

Supabase Edge Function triggered by a database webhook on activity insert/update. Invokes the badge evaluation service to check all badge cr...

medium Achievement Badges & Status Recognition
Badge Icon Asset Manager

Manages badge icon assets ensuring WCAG 2.2 AA contrast compliance. Provides icon resolution by badge definition ID, supports locked/unlocke...

low Achievement Badges & Status Recognition
Organisation Data Isolation Guard

Middleware utility that enforces organisation-scoped row-level security on all summary-related Supabase queries. Ensures that summary genera...

low shared Periodic Activity Summaries
Summary Generation Scheduler

Supabase scheduled Edge Function that triggers the summary generation service at the start of each half-year and quarterly period boundary. ...

medium Periodic Activity Summaries
Push Notification Dispatcher

Thin infrastructure wrapper around the FCM/APNs push delivery layer. Accepts a normalised notification payload and device token from the tri...

medium shared Scenario-Based Engagement Push Notifications
Scenario Edge Function Scheduler

Supabase Edge Function that acts as the scheduled entry point for periodic scenario evaluation. Triggered by pg_cron (or equivalent) at conf...

medium Scenario-Based Engagement Push Notifications
Scenario Evaluation Configuration

Environment-driven configuration that defines scenario thresholds, cooldown windows, cron schedule, supported scenario types, and feature fl...

low Scenario-Based Engagement Push Notifications
Deep Link Handler

Processes incoming deep links containing referral tokens when a new member taps the referral URL. Extracts the referral code, routes the app...

medium shared Membership Recruitment (Verving)
QR Code Generator

Utility wrapper around a Flutter QR code rendering package (e.g., qr_flutter). Accepts a referral URL string and returns a renderable QR cod...

low shared Membership Recruitment (Verving)
Share Sheet Bridge

Wraps the Flutter Share plugin (share_plus) to invoke the native iOS and Android system share sheet. Packages the referral URL and an option...

low shared Membership Recruitment (Verving)
Benefit Calculator BLoC

BLoC state management layer for the calculator screen. Handles input change events, triggers recalculation via the calculation service, and ...

low Volunteer Benefit Calculator
Accessibility Test Harness

A testing utility that provides helper methods for widget tests targeting semantic correctness. Includes matchers for semantic labels, roles...

medium Screen Reader Support
Semantics Service Facade

Abstracts Flutter's SemanticsService and platform accessibility APIs behind a unified interface to simplify testing and enable consistent an...

medium shared Screen Reader Support
WCAG 2.2 AA Compliance Checker

Development-time utility that evaluates colour contrast ratios, touch target sizes, and semantic completeness against WCAG 2.2 AA criteria. ...

medium Screen Reader Support
Accessibility Design Token Enforcer

Ensures all UI components consume colour, typography, and spacing values exclusively from the project's design token system. Prevents hard-c...

medium shared Cognitive Accessibility
Cognitive Accessibility Audit Utility

Development-time utility that inspects widget trees and route configurations for cognitive accessibility violations. Runs as a Flutter test ...

medium Cognitive Accessibility
Accessible Theme Builder

Assembles the final Flutter ThemeData by composing the contrast-safe color scheme, the accessible text theme, and token-driven component the...

medium shared Visual Design Accessibility
CI Accessibility Lint Runner

A Dart CLI script (or custom lint rule set) integrated into the CI pipeline that runs the contrast ratio validator and touch-target checks a...

medium Visual Design Accessibility
Flutter Accessibility Lint Configuration

Configuration for flutter_accessibility_lints (or equivalent custom lint package) that activates rules for semantic labels, minimum touch ta...

low Visual Design Accessibility
Accessibility Audit Runner

A development-time utility that automates gesture-accessibility checks using Flutter's SemanticsController and integration test helpers. Sim...

medium Navigation & Gesture Accessibility
Navigation Route Configuration

Central GoRouter configuration that defines all application routes with accessibility constraints built in: StatefulShellRoute for tab branc...

medium shared Navigation & Gesture Accessibility
Accessibility Live Region Announcer

A shared utility that posts accessibility announcements to the platform's screen reader via Flutter's SemanticsService. Used by the recordin...

low shared Speech-to-Text Input
Native Speech API Bridge

A platform-channel abstraction layer that routes speech recognition calls to the correct native engine — SFSpeechRecognizer on iOS and Speec...

medium Speech-to-Text Input
Feature Flag Provider

Infrastructure component that loads and exposes the organization-specific feature flag configuration fetched from Supabase after org selecti...

low shared Organization Selection & Onboarding
Secure Storage Adapter

Abstraction layer over Flutter's platform secure storage (Keychain on iOS, Keystore on Android) used for persisting sensitive session data s...

low shared Organization Selection & Onboarding
Supabase RLS Tenant Scope Configurator

Infrastructure utility that injects the selected organization ID into the Supabase client configuration so all subsequent queries are automa...

medium shared Organization Selection & Onboarding
Label Key Registry

A compile-time constant registry of all label keys used across the application, defined as a Dart abstract class with static string constant...

low shared Dynamic Terminology & Labels System
Terminology Riverpod Providers

Defines the Riverpod provider graph for the terminology system: the root organizationLabelsProvider, derived providers for individual label ...

low shared Dynamic Terminology & Labels System
WCAG Semantics Label Resolver

Infrastructure utility that bridges the terminology system with Flutter's Semantics tree to satisfy WCAG 2.2 AA requirements. Provides helpe...

low shared Dynamic Terminology & Labels System
Feature Flag Initializer

Bootstrap service that pre-loads feature flags for the authenticated organization during app startup and after organization selection. Ensur...

low Organization-scoped Feature Flags
Feature Flag Key Constants

A centralized constants file defining all valid feature flag keys as typed string constants. Prevents magic strings scattered across the cod...

low shared Organization-scoped Feature Flags
Duplicate Activity Detector

Supabase database trigger or scheduled Edge Function that compares activity fingerprints (date, type, participant overlap) within a configur...

high Organizational Hierarchy & Structure Management
Hierarchy Structure Validator

Utility service that validates the structural integrity of the organization hierarchy before and after mutations. Checks for orphaned nodes,...

medium Organizational Hierarchy & Structure Management
RLS Policy Manager

Manages Supabase Row Level Security policies that join through the unit assignment junction table to enforce data access scoping. Generates ...

high shared Organizational Hierarchy & Structure Management
Integration Config Validator

Validation utility ensuring integration configurations are complete and consistent before save. Validates that all required credential keys ...

medium External System Integration Configuration
Integration Edge Functions

Supabase Edge Functions hosting the REST API adapter logic and integration orchestration. Each integration type dispatches to the appropriat...

high External System Integration Configuration
Integration Type Registry

Configuration registry that declares supported integration types, their required credential fields, available field mapping targets, and fea...

low External System Integration Configuration