73
Total Data Layer
57
Low Complexity
15
Medium Complexity
1
High Complexity
23
Shared

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

Sessions Repository

Data-access layer managing the sessions and refresh_tokens tables. Handles creation, lookup, rotation, and revocation of session records. Us...

medium shared Email & Password Login
Auth Provider Config

Stores per-tenant BankID OAuth client credentials (client_id, client_secret, redirect_uri, OIDC discovery endpoint URL) encrypted at rest in...

medium BankID Authentication
webauthn_credentials

Database table storing per-user passkey credential records: credential ID (base64url), public key (COSE format), sign count for replay prote...

medium Passkeys (WebAuthn)
user_organization_roles

Join table binding users to organizations with a role enum value, enabling per-tenant role scoping. A single user may hold different roles i...

medium shared Role-Based Access Control
Active Context Repository

A Drift-backed local data adapter that stores and retrieves the persisted active role-organization pair. Provides the Profile Context Servic...

low Profile Switching
Activities Repository

Drift (SQLite) local data access object for the activities table on the mobile client. Implements the offline-first mutation pattern - write...

low shared Simple Activity Logging
activity_types

Drift DAO and corresponding SQLite table storing the catalog of activity types (e.g. home visit, phone call, group meeting) fetched from the...

low shared Activity Registration Wizard
activity_attachments Repository

Local Drift DAO and remote sync adapter for the activity_attachments table. Provides CRUD access to attachment metadata records linked to pa...

medium Document Attachments
activity_reports

Data component representing the activity_reports table, which stores one structured post-visit report record per activity as a JSON blob lin...

low Formalized Home-Visit Report
activities

The shared activities table persisting all activity records regardless of submission mode. For proxy records it stores the peer mentor's use...

low shared Coordinator Proxy Reporting
activities

Core activity records table storing all logged peer mentor activities regardless of submission mode. Shared by simple logging, proxy reporti...

low shared Bulk Registration
events

Drift table and repository adapter for the events entity, providing offline-capable CRUD operations against the local SQLCipher database and...

low Event Creation
event_participants

Local Drift table and repository mirroring the server-side event_participants table, storing user_id, event_id, and signed_up_at with a uniq...

low Event Sign-up
expenses

Drift data component managing the local expenses table, which stores peer mentor travel expense records with foreign keys to users, expense_...

medium shared Travel Expense Registration
expense_receipts

Data component managing the expense_receipts table which stores the storage URL, upload timestamp, file size in bytes, and SHA-256 content h...

low Receipt Photo Upload
expense_types

Drift local table and repository for the organisation-configured expense type catalogue. Each record carries a JSON rules field encoding mut...

low shared Expense Types & Requirements
confidentiality_declarations

Drift local table and repository for confidentiality declaration records. Each row stores user ID, linked activity ID, declaration version h...

low Confidentiality Declarations
contacts

Drift table and repository for the contacts entity, with SQLite FTS5 virtual table for full-text search across name and notes fields. Provid...

medium shared Contact List & Search
contact_organization_memberships

Drift local table and REST repository tracking which organizations a contact is a member of, enabling multi-tenant family tracking as the pl...

low Caregiver & Next-of-Kin
notes

Drift local table and REST repository for the notes entity, carrying foreign keys to both contacts and users so queries can be scoped by con...

low Notes List
notes

Drift table adapter and repository for the notes entity, providing typed access to note records linked to contacts and users. Handles local ...

low shared Note Editor
activity_statistics

Data layer managing the activity_statistics table, which caches precomputed per-user aggregates (count by type, total hours, monthly trend)....

low Personal Activity Statistics
activity_statistics

Drift table and repository adapter for locally cached activity statistics rows. Shared with Personal Activity Statistics - this feature read...

low shared Coordinator Team Reports
assignments

Drift table adapter and repository for the assignments entity. Stores only ciphertext at rest, consistent with the E2E encryption guarantee....

medium Encrypted Assignment Dispatch
assignment_deliveries

Repository and table for assignment delivery records. Each row represents one delivery of an encrypted assignment to a specific peer mentor,...

low Assignment Threshold Tracking
assignment_consents

Repository and local cache adapter for the assignment_consents table, providing CRUD operations for consent records with fields consent_type...

medium Progressive Digital Consent
relatives

Drift local database table mirroring the backend relatives table, storing each relative with a foreign key to the parent contact. Supports o...

low Relative Contact Registration
relative_case_links

Drift table and repository adapter for the relative_case_links junction table storing explicit associations between relatives and contacts. ...

low Relative Case Linking
peer_mentor_statuses

Drift local table mirroring the backend peer_mentor_statuses relation, storing the mentor's current status (active | paused | inactive), the...

low Pause Function
certifications

Drift local table and REST-backed repository for peer mentor certification records, storing expiry dates, issuing course references, and cur...

low shared Certification Expiry Auto-Pause
peer_mentor_locations

Data access component for the peer_mentor_locations table, providing typed location records containing mentor ID, geographic coordinates, av...

low Peer Mentor Map
Peer Mentor Location Repository

Data access layer for reading peer_mentor_locations records during suggestion ranking. Provides indexed queries by organization and active s...

low shared Assignment Matching by Geography
workshops

Drift table and repository adapter for workshop session records containing title, description, date range, location, and coordinator foreign...

low Career Workshops
Workshop Notes Repository

Drift DAO for the workshop_notes table providing typed queries scoped by workshop_id. Handles local offline persistence via the SQLCipher-en...

low Workshop Notes
workshop_participants

Drift-backed local data store for the workshop_participants join table, caching the full participant roster per workshop so the list renders...

low Workshop Participant Lists
workshop_todos

Drift table and repository for workshop to-do items, caching records locally in SQLCipher-encrypted storage scoped by workshop_id. Provides ...

low Workshop To-Do Lists
notification_scenario_templates

Data component managing the notification_scenario_templates table, storing event type, trigger conditions, target role filter, message templ...

low Notification Scenarios
notification_settings

Drift (SQLite) repository and REST API adapter for the notification_settings table, storing per-user boolean flags for each notification cat...

low Notification Settings
referral_invites

Repository layer for the referral_invites table, providing CRUD operations for invite records with referrer attribution, signed token storag...

low Invite Link & QR Sharing
course_enrollments

Drift-backed local repository tracking the authenticated user's enrollment records per course. Stores enrollment state for offline display, ...

low Course Registration
courses

Drift-backed local repository for the course catalog. Persists courses fetched from the REST API so the catalog is available offline, and in...

low Course Registration
certifications

Drift-backed repository managing the certifications table, providing CRUD access to certification records that store user name, organization...

low shared Digital Peer Mentor Certificate
annual_summaries

Data component managing the annual_summaries table which stores pre-aggregated yearly impact totals per user. Handles CRUD operations and qu...

low Annual Summary (Wrapped)
user_achievements

Data layer managing both the achievements catalog table (badge definitions, trigger conditions, icon references) and the user_achievements j...

low Achievement Badges
talking_cards

Drift table definition and repository for conversation-starter card records persisted locally on device. Stores card id, title, body text, o...

low Talking Cards Toolbox
User Preferences

Drift table storing user preference key-value pairs locally on device under SQLCipher encryption. Serves as the offline-first source of trut...

low App Settings & Preferences
external_resource_links

Drift-backed offline repository for the external_resource_links table. Fetches the org-scoped link list from the REST API at module bootstra...

low External Resource Links
FAQ Entries Repository

Drift-based local data store for cached FAQ entries. Each record holds question, plain-text answer, category tag, and role_filter field (pee...

low FAQ
Local Sync Schema

Drift table definitions that mirror the server schema extended with sync-state columns (sync_status, local_id, server_id, conflict_flag). Pr...

high shared Offline Data Support
Sync Queue Table

Drift database table representing the ordered mutation queue persisted on device. Each row holds the operation type, target entity type and ...

medium Background Sync
KPI Summary Table (Materialized View)

PostgreSQL materialized view or indexed summary table pre-aggregating per-organization activity counts, expense totals, user engagement rate...

medium Dashboard KPIs
users

Relational table storing user account records including profile fields, invitation status, activation status flag, and organization membersh...

low shared User CRUD
user_organization_roles

Junction table linking users to organizations with a role enum value. Stores the authoritative role assignment record that drives access con...

low shared Role Assignment
activities

Shared relational table storing all registered peer mentor activity records. For this feature the critical column is the status enum (pendin...

low shared Activity Review & Approval
audit_logs

Shared append-only audit log table that records every significant administrative action. This feature writes one immutable row per approval ...

low shared Activity Review & Approval
activity_flags

Data component managing the activity_flags table with columns activity_id (FK to activities), flagged_by (FK to users), reason_code (enum), ...

low Activity Flagging
activities

Shared data component managing the activities table, extended with duplicate detection fields similarity_score (0-100) and duplicate_candida...

medium shared Duplicate Activity Detection
duplicate_detection_config

Per-organization configuration store for duplicate detection tolerances including date proximity window in days, minimum similarity score th...

low Duplicate Activity Detection
expense_approvals

Data component managing the expense_approvals table, which records every reviewer decision for an expense claim. Provides CRUD operations an...

medium Expense Approval Queue
approval_rules

Per-organization rule definitions for automatic expense approval, storing threshold dimensions and enabled state. Each row may target a spec...

low Auto-Approval Rules
reports

Database table that persists metadata for each generated team report, providing an audit trail of when reports were run, by whom, and with w...

low Team Reports
bufdir_exports

Data component managing the bufdir_exports table which persists generated Bufdir report records with status, reporting period, generating us...

low Bufdir Report Generation
bufdir_exports Repository

Data access layer for the bufdir_exports table, providing typed read and update operations scoped to the current organization tenant. Manage...

low Bufdir Export
reports

PostgreSQL data layer for persisted report template records keyed to the generating user's organization. Stores report name, serialized Repo...

low shared Custom Reports
organization_settings

Data layer for the organization_settings table, which has a one-to-one relationship with organizations. Provides typed read/write access to ...

low Organization Settings
terminology_overrides

Data layer for the terminology_overrides table, storing per-org override strings keyed by organization_id and a server-enforced term_key enu...

low Custom Terminology
module_configurations

Data layer for the module_configurations table, which stores one row per (organization, module_id) pair recording the enabled state and any ...

low Feature Toggles
organization_hierarchy_nodes

Postgres table storing organizational hierarchy nodes as an adjacency list with a self-referential parent_id. Each row represents a single u...

medium Multi-Organization Hierarchy
user_organization_roles

Relational table storing the composite-keyed membership records linking users to organizational hierarchy nodes with a role assignment. Acts...

low shared Member Associations
external_portal_configs

Postgres table storing one configuration record per organization for their external portal integration. Holds portal URL, encrypted OAuth cr...

medium External Portal Integration
accounting_sync_logs

Persistent audit table recording every attempt to synchronize an expense record with an external accounting system. Stores connector type, a...

low Accounting API
audit_logs

Append-only relational table storing structured audit entries scoped per organization. Each row records actor_id, actor_role, action_type, t...

low Audit Log
sessions

Data component managing the sessions table, which stores active and revoked session records with user identity, tenant association, token re...

low shared Session Management