medium complexity extracted Organization Structure & Multi-Tenancy Confidence: 100%
5
Components
58
Shared
0
User Stories
Yes
Analyzed

Description

This feature allows a single user to hold membership in multiple local associations simultaneously, with up to five affiliations per user as identified in the NHF workshop. When a user belongs to more than one local association, the app must present a clear selection mechanism at login or context-switch time so that activities and reports are attributed to the correct association. The feature also prevents double-counting of the same activity across associations and surfaces the correct coordinator relationships for each context.

User Flow

Member Multi-Association Membership user flow
Click to expand

Analysis

Business Value

NHF explicitly identified this as a unique and critical requirement: peer mentors are active in multiple local associations and the system must handle this without forcing duplicate accounts or causing reporting errors. Duplicate reporting of the same activity across associations would corrupt Bufdir statistics, which have financial implications for grant funding. Enabling clean multi-association membership also reduces administrative overhead for coordinators who manage members spread across several local branches. This directly improves data quality and reduces the manual reconciliation effort that currently plagues Excel-based reporting workflows.

Implementation Notes

The user_organization_roles table already supports many-to-many relationships between users and organizations with a role per association. The mobile app stores the active association context in BLoC state after the organization selection screen, and all subsequent API calls include this context. A context switcher widget allows the user to change the active association mid-session without logging out. The API validates that the requested association_id is in the user's list of memberships before accepting any write operation. Duplicate activity detection logic (see duplicate-activity-detection feature) is triggered when the same user registers a similar activity across associations in a short time window.

Components (63)

User Interface (2)

Service Layer (1)

Data Layer (1)

Infrastructure (1)

Shared Components

These components are reused across multiple features

Infrastructure (20)

User Stories

No user stories have been generated for this feature yet.