Member Multi-Association Membership
Feature Detail
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
Analysis
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.
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)
Shared Components
These components are reused across multiple features
User Interface (16)
Service Layer (13)
Data Layer (9)
Infrastructure (20)
User Stories
No user stories have been generated for this feature yet.