157
Total Data Layer
87
Low Complexity
63
Medium Complexity
7
High Complexity
22
Shared

Data Layer components manage data persistence, storage operations, and data access patterns throughout the application.

Token Store

Flutter data layer responsible for persisting and retrieving JWT access and refresh tokens using the platform's secure storage. Abstracts th...

low Email & Password Login
Token Store

Secure on-device storage adapter for JWT access and refresh tokens using flutter_secure_storage. On iOS it writes to the Keychain; on Androi...

low shared Email & Password Login
Token Store

Provides secure persistent storage for JWT access tokens and refresh tokens on the mobile device using the platform Keychain (iOS) or Keysto...

low shared BankID Authentication
Secure Token Store

Manages the full lifecycle of JWT access and refresh tokens using flutter_secure_storage, backed by iOS Keychain and Android Keystore. Handl...

medium shared Biometric Login (Face ID/Fingerprint)
Secure Token Store

Manages the lifecycle of encrypted JWT refresh tokens stored in platform-secure storage (iOS Keychain via flutter_secure_storage / Android K...

medium shared Biometric Login (Face ID/Fingerprint)
Permission Store

Local persistent store in the Flutter app that caches the user's assigned roles, active role, and organisation ID after login. Reads from an...

medium Role-Based Access Control
Permission Store

Manages the persistence and retrieval of role definitions, permission matrices, and user-role assignments. On the mobile side, stores the cu...

medium Role-Based Access Control
User Profile Store

Local persistence layer for the authenticated user's profile data and preferences, implemented via Riverpod state providers backed by local ...

low Profile Data & Settings
User Profile Store

Local state and caching layer for the authenticated user's profile data, preferences, and organization context. Uses Riverpod or BLoC state ...

medium Profile Data & Settings
Active Role Cache

Manages the in-memory and secure-storage representation of the authenticated user's available roles and their currently active role selectio...

low Profile Switching
Active Role Store

Secure local persistence layer that stores the user's currently active role and their list of available roles. Uses the device keychain or s...

low Profile Switching
Passkey Credential Store

Persists registered passkey credential metadata (credential ID, display name, creation timestamp, last used) in local secure storage and syn...

low Authentication Methods (Passkeys)
Passkey Credential Store

Data layer responsible for persisting and retrieving FIDO2 public key credentials. Stores credential IDs, public keys, sign counts, and tran...

medium Authentication Methods (Passkeys)
Activity Store

Local SQLite repository managing persisted activity records and offline submission queue on the device. Provides CRUD operations for activit...

medium Simple Activity Logging
Activity Store

Local data persistence layer for activity records using SQLite. Caches submitted and pending activities for offline support, stores user his...

medium Simple Activity Logging
Activity Draft Store

Local persistence layer that saves wizard draft state so users do not lose progress if the app is backgrounded or closed mid-wizard. Stores ...

low Activity Registration Wizard
Activity Store

Local data store managing persisted activity records on the device. Shared with the Simple Activity Logging feature. Supports offline queuin...

low shared Activity Registration Wizard
Calendar Sync State Store

Local persistence layer that tracks the synchronization state between Meander records and their corresponding external calendar entries. Sto...

low Calendar Sync
Calendar Sync Store

Local persistence layer for calendar sync state, mapping between Meander activities and device calendar events, and sync configuration. Stor...

medium Calendar Sync
Proxy Activity BLoC

Flutter BLoC state manager for the proxy registration flow. Extends the standard activity form BLoC with an injected 'on-behalf-of' paramete...

medium Coordinator Proxy Reporting
Proxy Activity Store

Local data layer managing proxy-registered activity records. Extends the standard activity store with proxy-specific fields (proxy_user_id, ...

low Coordinator Proxy Reporting
Bulk Import Store

Manages client-side state for the bulk registration operation, including the selected participant list, draft activity data, operation progr...

medium Bulk Registration
Bulk Import Store

Data layer managing bulk registration records including the batch metadata (coordinator, timestamp, participant count) and the individual ac...

medium Bulk Registration
Event Draft Store

Riverpod-backed local persistence layer that saves in-progress wizard state to device storage, enabling users to resume an interrupted event...

low Event Creation
Event Store

Data access layer managing persistence and retrieval of events in the PostgreSQL events table. All queries are org-scoped to enforce multi-t...

low Event Creation
Event Store

Data access layer managing event persistence through the shared PostgreSQL events table via REST API. Handles organization-scoped queries en...

medium Event Creation
Event List Cache Store

Local SQLite data access object that persists the most recently fetched events page for offline-capable rendering. Provides read and write o...

low shared Event Listing
Event Registration Store

Riverpod/BLoC state container that tracks per-event registration status for the current user, including optimistic pending states and confir...

low Event Sign-up
Expense Store

BLoC/Riverpod state store managing expense form draft state, local persistence of pending claims in SQLite, expense type rules cache, and re...

medium Travel Expense Registration
Expense Store

State management store that holds expense form state, cached expense type definitions with their validation rules, and the list of submitted...

medium Travel Expense Registration
Receipt Repository

Manages local and remote CRUD operations for the expense_receipts table, linking receipt metadata and cloud storage references to their pare...

medium Receipt Photo Upload
Receipt Store

Local data layer managing receipt metadata and upload state on the device. Caches receipt references linked to their parent expense records ...

low Receipt Photo Upload
Expense Type Store

Mobile-side data store that caches the organisation's active expense type catalogue, including type metadata, mutual-exclusivity groups, doc...

medium shared Expense Types & Requirements
Expense Type Store

Data access layer managing persistence and retrieval of organisation-scoped expense type configurations. Stores expense types with their JSO...

medium Expense Types & Requirements
Declaration Store

Data access layer managing CRUD operations against the `documents` table for confidentiality declaration records. Each record links a user, ...

low Confidentiality Declarations
Declaration Store

Data access layer for confidentiality declaration records stored in the documents table. Manages declaration text versions with content hash...

low Confidentiality Declarations
Contact Store

Riverpod-based state management store holding the current contact list, pagination cursor, search query state, and loading/error status. Ser...

low Contact List & Search
Contact Store

Riverpod-based state management store that holds the current contact list, search state, pagination cursor, and loading indicators. Provides...

low shared Contact List & Search
Contact Store

Local data repository for contact records providing caching, optimistic state management, and synchronisation with the REST API. Shares the ...

low shared Contact Detail & Edit
Caregiver Store

Local state and caching layer for caregiver records associated with a contact. Manages in-memory caregiver lists using BLoC/Riverpod, ensuri...

low Caregiver & Next-of-Kin
Caregiver Store

Local state management and caching layer for caregiver records using Riverpod. Stores caregiver lists keyed by contact ID, handles optimisti...

low Caregiver & Next-of-Kin
Notes Store

Local SQLite cache layer for notes data, enabling offline access and reducing redundant API calls. Stores note records keyed by note ID with...

medium Notes List
Notes Store

Local data layer providing offline-capable storage for notes using SQLite. Caches notes fetched from the REST API and supports sync-on-recon...

medium Notes List
Note Draft Store

Local SQLite-backed storage for note drafts, enabling autosave and offline editing. Persists in-progress note text, linked contact, and time...

low Note Editor
Notes Draft Store

Lightweight local persistence layer for in-progress note drafts. Stores partial note content keyed by contact ID so that the editor can rest...

low Note Editor
Notes Store

Local SQLite repository for submitted notes, shared between the Notes List and Note Editor features. Provides CRUD operations and a reactive...

low shared Note Editor
Stats Store

Local data store that caches aggregated statistics payloads on the device to support offline viewing. Stores the last-fetched stats result k...

low Personal Activity Statistics
Stats Store

Local data layer that caches aggregated statistics for offline viewing and manages state via Riverpod. Stores pre-computed summaries fetched...

medium Personal Activity Statistics
Team Stats Store

Riverpod state store that holds cached team report data for the current coordinator session, keyed by association ID and active filter set. ...

medium Coordinator Team Reports
Report Store

Data access layer managing persistence and retrieval of generated Bufdir report records in PostgreSQL. Stores report metadata, generation st...

low Bufdir Report Generation
Report Store

Data access layer managing persistence and retrieval of Bufdir report records, draft states, and generated report metadata. Handles caching ...

medium Bufdir Report Generation
Accounting Export Store

Data access layer for the accounting_exports table. Provides CRUD operations for export records that capture organization ID, export timesta...

low Bufdir Export
Export History Store

Local data store that persists export records including organization ID, export timestamp, report period, format, file size, and download st...

low Bufdir Export
Accounting Configuration Store

Data layer responsible for persisting per-organization accounting integration configurations, including encrypted API credentials, field map...

medium Accounting System Integration
Accounting Export Store

Manages persistence of accounting transfer records in the accounting_exports table. Stores per-transfer metadata including the target system...

low Accounting System Integration
Assignment Store

Data access layer for the assignments table. Manages persistence of encrypted assignment blobs, delivery receipts, read receipts, and status...

medium Encrypted Assignment Dispatch
Assignment Store

Manages persistence and retrieval of encrypted assignment records, including dispatch metadata, delivery receipts, read receipts, and the 10...

medium Encrypted Assignment Dispatch
Assignment Count Store

Maintains pre-aggregated assignment completion counts per peer mentor per reporting period, eliminating the need for expensive live count qu...

low shared Assignment Threshold Tracking
Threshold Config Repository

Data access layer for the assignment_threshold_configs table, providing typed read and write operations for threshold configurations includi...

low Assignment Threshold Tracking
Threshold Config Store

Data access layer managing organization-specific threshold configurations including tier boundaries, honorarium rates, and reporting periods...

medium Assignment Threshold Tracking
Push Token Repository

Data access layer for the push_tokens table, managing the registration, refresh, and deregistration of device push tokens per user. Stores p...

low shared Push Notifications
Notification Template Store

Manages server-side message templates for both email and SMS channels with support for variable substitution. Stores template definitions pe...

medium Email/SMS Notifications
Notification Template Store

Server-side storage and retrieval of email and SMS message templates with variable placeholders. Templates cover account invitations, passwo...

low Email/SMS Notifications
Notification Audit Log Store

Persists a record of every dispatched notification, capturing rule ID, recipient user ID, delivery channel, template ID, payload snapshot, a...

low shared Notification Scenarios
Notification Execution Log

Records every notification sent by the rule engine with status, timestamp, rule ID, recipient, and entity reference. Serves as the deduplica...

medium Notification Scenarios
Notification Rule Store

Persists notification rule definitions including event type, condition predicate, recipient strategy, channel selection, template reference,...

medium Notification Scenarios
Push Token Store

Data component managing FCM/APNs device token lifecycle including registration, refresh, and deletion. When a user disables push notificatio...

low shared Notification Settings
Push Token Store

Data component responsible for managing FCM and APNs push token persistence. Handles token registration on app start, token refresh events, ...

low shared Notification Settings
Referral Link Repository

Data access layer that manages local caching and persistence of referral link data. Stores the current active referral link for offline disp...

low Invite Link & QR Sharing
Referral Store

Local data store managing cached referral link state on the mobile device. Persists the active referral link and expiry timestamp so the Ref...

low Invite Link & QR Sharing
Referral Store

Data access layer for referral links and referral tracking records. Provides repository methods for persisting and querying the full referra...

low Recruitment Tracking
Referral Store

Data access layer for referral tracking records, providing CRUD operations on the referral_trackings table and aggregation queries for conve...

low Recruitment Tracking
Course Store

BLoC-based state store managing enrollment state transitions (available → registered → completed → certified) and local caching of course da...

medium Course Registration
Course Store

Local state management store using BLoC/Riverpod that caches course listings, user registration records, and enrollment status. Provides rea...

low Course Registration
Certificate Store

Local data layer responsible for caching certification records fetched from the REST API and persisting them for offline availability. Maps ...

low Digital Peer Mentor Certificate
Certificate Store

Local data layer that caches the user's certification records and certification type definitions fetched from the REST API. Provides reactiv...

low Digital Peer Mentor Certificate
Workshop Store

Local data store managing cached workshop data, registration state, facilitator session state (checklist, attendance), and offline availabil...

low Career Workshops
Annual Summary Repository

Data access layer that communicates with the REST API to fetch pre-computed annual summary records. Handles serialization and deserializatio...

low Annual Summary (Wrapped)
Summary Store

Client-side data store that caches fetched annual summary responses to avoid redundant API calls during the session. Uses Riverpod StateNoti...

low Annual Summary (Wrapped)
Summary Store

Local data store that caches annual summary responses from the backend API. Stores the pre-computed yearly statistics including activity cou...

low Annual Summary (Wrapped)
Achievement Store

Data repository managing earned achievement records and achievement type definitions. Handles CRUD operations for both per-user achievement ...

low Achievement Badges
Achievement Store

Local data layer managing cached badge definitions, earned badges, and progress state using BLoC/Riverpod state management. Handles optimist...

medium Achievement Badges
Impact Multiplier Store

Local data store that caches organization-specific impact multipliers (hourly rates, cost equivalents, professional support rate benchmarks)...

low Advantage Calculator
Organization Impact Settings Repository

Data access layer that reads organization-specific impact multipliers (hourly rates, cost equivalents) from the local SQLite cache of organi...

low shared Advantage Calculator
Cards Content Store

Local data store that holds the bundled talking card content and any remotely refreshed updates. On first launch the store reads from the ap...

low Talking Cards Toolbox
Cards Content Store

Local data store for talking card content bundled with the app. Stores card text, categories, and metadata in local SQLite for offline acces...

low Talking Cards Toolbox
Accessibility Preferences Store

Persists user-level accessibility overrides such as preferred text scale factor, high-contrast mode toggle, and reduced-motion preference. R...

low shared WCAG 2.2 AA Compliance
Sensitive Field Config Store

Local data store that persists the organisation-level sensitive field configuration on the device so that sensitivity rules are available of...

low Sensitive Field Readout Warning
Sensitive Field Config Store

Local data store that persists the organisation-level sensitive field configuration retrieved from the backend. Supports offline access so t...

low Sensitive Field Readout Warning
Sami Translations Store

Persists the user's chosen locale preference to local storage via shared_preferences and restores it on app launch, ensuring the selected Sa...

low Sami Language Support
Sami Translations Store

Persists the user's selected locale preference to local storage (shared_preferences) and restores it on app launch so the language choice su...

low Sami Language Support
Dashboard Cache Store

Local SQLite-backed store that persists the last-known dashboard state per role, enabling immediate screen render on cold start before API d...

low Role-Specific Home Dashboard
Settings Store

Local persistence layer for user preferences, backed by SQLite or Flutter SharedPreferences. Stores all configurable settings (language, bio...

low App Settings & Preferences
Settings Store

Local persistence layer for user application preferences using shared preferences or local SQLite. Stores display settings, language selecti...

low App Settings & Preferences
Links Store

Local SQLite persistence layer for the external link catalog. Stores link objects containing title, URL, description, category, icon, and br...

low External Resource Links
Links Store

Local SQLite data store for caching external link objects fetched from the API. Stores link title, URL, description, category, icon, and bro...

low External Resource Links
FAQ Store

Local data store that caches FAQ items fetched from the API, enabling offline access and reducing redundant network calls. Persists items to...

low FAQ
FAQ Store

Local data store that caches FAQ items fetched from the backend for offline access and fast client-side search. Persists FAQ content to loca...

low FAQ
Local SQLite Database

Device-local SQLite database managed via the drift (formerly Moor) or sqflite Flutter plugin. Stores a mirrored subset of backend data neede...

high shared Offline Data Support
Local SQLite Database

On-device SQLite database managed via a Flutter plugin (sqflite or drift) that stores a subset of the user's operational data locally. It mi...

high Offline Data Support
Sync Queue

Persistent queue stored in local SQLite that records all data mutations (creates, updates, deletes) made while offline, along with timestamp...

medium shared Offline Data Support
Sync Queue

Persistent queue that tracks all data mutations (creates, updates, deletes) made while offline, storing them with timestamps and retry count...

medium Offline Data Support
Sync Status Store

Persists the outcome of each background sync run to a local SQLite status table. Stores sync timestamps, per-entity success and failure coun...

medium Background Sync
Analytics Store

Data access layer that executes optimized SQL aggregate queries against the PostgreSQL database to retrieve KPI metrics. Utilizes indexed co...

medium Dashboard KPIs
Analytics Store

Data access layer that encapsulates PostgreSQL queries for KPI aggregation, using indexed columns on activities.created_at, activity_approva...

medium Dashboard KPIs
Activity Feed Query Builder

Encapsulates the SQL construction logic for the activity feed endpoint. Builds parameterized PostgreSQL queries with cursor-based pagination...

medium Activity Feed
User Repository

Data access layer that abstracts all PostgreSQL queries against the users, organizations, user_role_assignments, and user_local_associations...

medium User CRUD
User Repository

Data access layer abstracting all PostgreSQL queries against the users, organizations, user_role_assignments, and user_local_associations ta...

medium User CRUD
Role Assignment Repository

Data access layer for role assignments. Handles reads and writes to the user_roles and user_role_assignments tables in PostgreSQL, including...

low Role Assignment
Role Repository

Data access layer for reading role definitions and reading/writing user role assignments. Provides typed queries against the user_roles and ...

low Role Assignment
Bulk Operation Repository

Data access layer that performs batched database queries for bulk user operations. Handles multi-row updates within transactions, validates ...

medium Bulk Actions
Approval Store

Data access layer encapsulating all read and write operations on the activity_approvals table and the activities status field. Implements op...

medium Activity Review & Approval
Approval Store

Data access layer managing activity approval records and review queue queries. Handles status transitions on the activities table, creates a...

medium Activity Review & Approval
Flag Store

Data access layer for activity flag state, persisted as a status field and flag_reason column on the activities table alongside a flagged_by...

low Activity Flagging
Expense Approval Store

Data access layer managing all database interactions for expense approvals, expense claims, receipts, and reimbursements. Executes SQL queri...

medium Expense Approval Queue
Expense Approval Store

Data access layer managing queries and mutations against the expense_approvals, expenses, expense_receipts, and audit_logs PostgreSQL tables...

medium Expense Approval Queue
Auto-Approval Rule Store

Data access layer for the auto_approval_rules table, providing typed query methods used by both the rule engine at submission time and the C...

low Auto-Approval Rules
Auto-Approval Rule Store

Data access layer for the auto_approval_rules table, handling persistence of rule configurations per organization. Provides queries for fetc...

low Auto-Approval Rules
Reimbursement Repository

Data access layer for reimbursement records, encapsulating all PostgreSQL queries including CTE-based aggregations and window function compu...

high Reimbursement Overview
Reimbursement Store

Data access layer encapsulating PostgreSQL queries against the reimbursements, expenses, expense_approvals, and users tables. Uses CTEs and ...

medium Reimbursement Overview
Report Store

Data access layer that executes optimized PostgreSQL queries for activity aggregation, leveraging indexes on organization_id, created_at, an...

high shared Team Reports
Report Store

Data access layer for team report queries against the PostgreSQL database. Provides optimized read queries with indexes on organization_id, ...

medium Team Reports
Bufdir Export Store

Data access layer for persisting and retrieving Bufdir export records, including export metadata, file references, and audit trail. Tracks w...

medium Bufdir Export
Bufdir Format Configuration Store

Stores and retrieves the versioned JSON configuration that defines how internal Meander fields map to Bufdir output fields. Keeping mapping ...

low Bufdir Export
Bufdir Report Store

Data access layer for the bufdir_reports table. Manages persistence of generated export records including metadata, status, and period cover...

low Bufdir Export
Report Configuration Repository

Data access layer for the report_configs PostgreSQL table. Provides parameterized queries for all CRUD operations with tenant-scoped WHERE c...

low Custom Reports
Report Configuration Store

Repository managing the report_configs table where saved report specifications are persisted. Stores the declarative specification as JSON a...

medium Custom Reports
Report Field Registry

Maintains the allowlist of queryable fields with metadata including display name, data type, source table, required joins, and available fil...

medium Custom Reports
Organization Config Store

Data access layer for the organization_settings and organizations tables, encapsulating all SQL queries and mutations behind a typed reposit...

low Organization Settings
Organization Config Store

Data access layer for organization settings persistence in PostgreSQL. Manages the organization_settings table with one-to-one relationship ...

low Organization Settings
Mobile Terminology Store

Flutter Riverpod provider that loads the organization terminology map from the session bootstrap payload at login and persists it locally us...

medium shared Custom Terminology
Terminology Repository

Data access layer that reads and writes the JSONB terminology map field within the organization_settings table. Abstracts raw SQL operations...

low Custom Terminology
Terminology Store

Data access layer for reading and persisting terminology overrides in the organization_settings table. Manages the JSONB column containing t...

low Custom Terminology
Feature Flag Store

Data access layer for the feature_flags PostgreSQL table. Handles CRUD operations for per-organization feature flag records, including readi...

low Feature Toggles
Feature Flag Store

Data access layer for the feature_flags table in PostgreSQL. Handles persistence of per-organization feature flag overrides including organi...

low Feature Toggles
Hierarchy Store

Data access layer implementing the PostgreSQL closure table pattern for the organizations table. Provides efficient ancestor and descendant ...

high Multi-Organization Hierarchy
Hierarchy Store

Data access layer managing the organization hierarchy closure table in PostgreSQL. Handles CRUD operations for organizations and their paren...

high Multi-Organization Hierarchy
Materialized View Refresher

Manages the lifecycle of PostgreSQL materialized views used for aggregate reporting across the organization hierarchy. Triggers nightly REFR...

medium Multi-Organization Hierarchy
Association Membership Repository

Data access layer providing all CRUD operations against the user_local_associations junction table. Implements the partial unique index cons...

low Member Associations
Association Membership Store

Data access layer for the user_local_associations junction table. Manages persistence of user-to-association relationships including the is_...

low Member Associations
Portal Integration Config Store

Repository for persisting per-organization external portal configuration, including encrypted API credentials, data-sharing rule sets, sync ...

medium External Portal Integration
Portal Sync Store

Data persistence layer for storing portal integration configuration, sync operation history, retry queue entries, and conflict records. Stor...

medium External Portal Integration
Sync Event Log Store

Append-only store for all sync operation outcomes. Each record captures entity type, direction, timestamp, status, error details, and idempo...

low External Portal Integration
Accounting Credential Store

Securely stores encrypted API credentials (OAuth2 tokens, API keys) for each organization's accounting system connection. Credentials are en...

high Accounting API
Accounting Credentials Store

Secure storage layer for per-organisation accounting system credentials. Encrypts API keys and OAuth tokens at rest, provides controlled acc...

medium Accounting API
Accounting Export Store

Data access layer for persisting and querying accounting export records, account code mappings, and export batch status. Provides transactio...

medium Accounting API
Accounting Export Store

Persists export batch records including status, timestamps, line item counts, external reference IDs, and error details. Supports querying e...

medium Accounting API
Security Metrics Repository

Data access layer that executes parameterized PostgreSQL queries over the audit_logs and sessions tables to retrieve raw security data. Prov...

medium shared Security Dashboard
Security Metrics Store

Data access layer that executes PostgreSQL aggregation queries over audit_logs and sessions tables and manages the server-side metrics cache...

medium Security Dashboard
Audit Log Store

Data access layer for the audit_logs table, enforcing append-only semantics with no UPDATE or DELETE operations exposed. Implements cursor-b...

medium Audit Log
Audit Log Store

Data access layer for the audit_logs table providing append-only insert operations and efficient cursor-based read queries. Enforces databas...

medium Audit Log
Session Store

Data access layer for the sessions and refresh_tokens tables. Handles CRUD operations for session records including device metadata, last-ac...

medium Session Management
Session Store

Data access layer managing the sessions and refresh_tokens tables in PostgreSQL. Provides CRUD operations for session records including devi...

medium Session Management
Pricing Config Store

Static or environment-driven data store holding hardcoded pricing tier definitions, comparison row labels, and TCO calculation parameters. A...

low Cost Comparison
Booking Store

Data access layer responsible for all read and write operations on the demo_bookings and leads tables in PostgreSQL. Provides a typed reposi...

low Booking Form
Booking Store

Data access layer for demo bookings and leads in PostgreSQL. Provides repository methods for creating, querying, and managing booking record...

low Booking Form
Consent Preferences Store

localStorage-backed data layer that persists visitor cookie consent choices across page loads. Stores consent state per category alongside t...

low Cookie Policy