medium complexity extracted User Management Confidence: 100%
10
Components
106
Shared
0
User Stories
Yes
Analyzed

Description

This feature provides full lifecycle management for user accounts within the Meander Admin Web Portal. Administrators can create new users by sending invitations, view and search existing user profiles, update user details such as contact information and organizational affiliation, and deactivate accounts when users leave. The feature supports multi-tenant isolation so that Org Admins only see users within their own organization, while Global Admins can operate across the system. All user records are tied to an organization and one or more local associations.

User Flow

User CRUD user flow
Click to expand

Analysis

Business Value

User management is the foundational administrative capability that unlocks every other function in the platform. Without the ability to create, view, update, and deactivate users, no organization can onboard peer mentors or coordinators, assign roles, or maintain data integrity. From a compliance and security perspective, the ability to deactivate accounts promptly is critical for GDPR adherence and access control. Org Admins spend significant time managing volunteer turnover, so a clean, fast CRUD interface directly reduces administrative burden and enables organizations to scale their peer mentor programs efficiently.

Implementation Notes

Implemented as server-side rendered Next.js pages under the /admin/users route, consuming the REST API at /api/v1/users. The user list page uses server components with pagination and search/filter controls. User invitation is handled via a POST to /api/v1/users/invite, which generates a time-limited token and sends an email. Deactivation sets an active flag rather than hard-deleting records to preserve audit history. Multi-tenant scoping is enforced at the API layer using the authenticated user's organization context from the JWT. The User Repository data component abstracts all database queries against the users, organizations, and user_local_associations tables in PostgreSQL.

Components (116)

User Interface (5)

Service Layer (2)

Data Layer (2)

Infrastructure (1)

Shared Components

These components are reused across multiple features

Service Layer (34)

Data Layer (22)

Infrastructure (38)

infrastructure Keychain/Keystore Adapter low Shared infrastructure JWT Claims Extractor low Shared infrastructure Organization Labels Adapter low Shared infrastructure Keychain/Keystore Adapter low Shared infrastructure Auth API Client medium Shared infrastructure REST API Client medium Shared infrastructure WCAG Accessibility Adapter low Shared infrastructure Registration API Client low Shared infrastructure Accounting API Client high Shared infrastructure PDF Renderer Adapter medium Shared infrastructure File Share Adapter low Shared infrastructure FCM/APNs Adapter high Shared infrastructure Share Sheet Adapter low Shared infrastructure Share Plus Adapter low Shared infrastructure Platform Accessibility Bridge medium Shared infrastructure Semantics Override Adapter high Shared infrastructure URL Launcher Adapter low Shared infrastructure Markdown Content Renderer low Shared infrastructure Network Connectivity Monitor low Shared infrastructure Expense Receipt Storage Adapter low Shared infrastructure Audit Log Writer low Shared infrastructure Feature Flag Checker low Shared infrastructure Logo Upload Adapter low Shared infrastructure Terminology Constants Registry low Shared infrastructure Feature Flag Cache Adapter low Shared infrastructure Org Scope JWT Resolver medium Shared infrastructure Association Audit Logger low Shared infrastructure Token Blocklist medium Shared infrastructure Analytics Tracker low Shared infrastructure SEO Metadata Config low Shared infrastructure Analytics Tracker low Shared infrastructure Analytics Tracker low Shared infrastructure Sales Analytics Tracker low Shared infrastructure Email Provider Adapter low Shared infrastructure Terms of Service Content Provider low Shared infrastructure Legal PDF Asset Provider low Shared infrastructure Consent-Gated Script Loader low Shared infrastructure Legal Page Layout low Shared

User Stories

No user stories have been generated for this feature yet.