Capabilities
Features
Member List View
1
Access Member List
Navigate to Members in the sidebar to view all members in a paginated data table.
2
Search & Filter
Use the search bar to find members by name or email. Apply filters for:
- Membership type
- Status (active, inactive, suspended)
- Join date range
- Membership expiry
3
Customize Columns
Click the column selector to show/hide fields in the table view.
Acceptance Criteria
Frontend
- Members list displays in data table with TanStack Table
- Search bar filters members by name, email
- Filter dropdowns for membership type, status
- Pagination controls (30 members per page)
- Add member button opens form modal/page
- Edit button opens edit form with current data
- Delete button shows confirmation dialog
- Bulk actions: export, email, status change
- Loading states during API calls
- Success/error toasts for actions
Backend / API
-
?membershipType=- Filter by type -
?search=- Search by name/email -
?status=- Filter by status -
?page=- Pagination -
?itemsPerPage=- Results per page (default: 30)
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
-
ROLE_CLIENT_USERrole can view members (read-only) - Cannot delete member with active membership
- Email must be unique across organization
- All actions logged to audit trail
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Create New Member
Acceptance Criteria
Frontend
- UI supports the workflows described in this feature.
Backend / API
- Backend behavior supports this feature as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- Only
ROLE_CLIENT_ADMINrole can create/edit/delete members
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
UI Spec (from supplied spreadsheet)
The following field inventory is sourced fromworkspace/sources/entity-registry.csv (“Members” / membership-related fields).
This is a UI/requirements inventory (not the ERD). Some fields are system-generated or may be configured as optional during implementation.
Create/Edit Member – Field Inventory
Membership – Field Inventory
Data Model Cross‑Reference (Entities)
- Member profile + personal fields:
User / Member - Plan configuration (pricing, grace period, CPD requirements):
Membership Plan - Membership periods (per member, per plan):
UserMembership(referenced throughout Entities) - Corporate/group memberships:
Group / Corporate Membership
Edit Member
All member fields can be edited except:- Email address (contact support to change)
- Member ID
- Created date
Acceptance Criteria
Frontend
- Edit Member workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Edit Member as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Delete Member
Acceptance Criteria
Frontend
- Delete Member workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Delete Member as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Bulk Operations
Bulk Export
Export members to CSV or Excel with selected fields:- Select members using checkboxes (or select all)
- Click Export button
- Choose format (CSV, Excel)
- Select fields to include
- Download generated file
Acceptance Criteria
Frontend
- Bulk Export workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Bulk Export as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Bulk Update
Update multiple members at once:- Select members using checkboxes
- Click Bulk Actions → Update
- Choose field to update (e.g., membership type, status)
- Enter new value
- Confirm changes
Acceptance Criteria
Frontend
- Bulk Update workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Bulk Update as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Import Members
Import members from CSV file:- Click Import button
- Download template CSV
- Fill in member data
- Upload completed CSV
- Review validation results
- Confirm import
Acceptance Criteria
Frontend
- Import Members workflow is implemented in the UI as described.
Backend / API
- Backend behavior supports Import Members as documented.
Permissions
- Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
- All business rules for this feature are enforced.
Error Handling
- Error states return clear messages and appropriate HTTP status codes.
Implementation Contracts
Backend (API)
Error Handling
AI-Powered Engagement
Login Activity Tracking
The system monitors member login activity and identifies inactive members based on configurable thresholds.1
Configure Inactivity Threshold
Set the number of days of inactivity that triggers a re-engagement email (e.g., 30, 60, or 90 days)
2
Monitor Login Dates
System automatically tracks and stores last login dates for all members
3
Trigger Re-engagement
When a member exceeds the inactivity threshold, the system queues a personalized re-engagement email
AI Re-engagement Emails
When members exceed the inactivity threshold, the system sends personalized re-engagement emails containing:- Content Recommendations
- Personalized Suggestions
AI-curated recommendations based on member interests:
- Community Articles: Relevant articles from the community feed
- Polls: Active polls matching the member’s interest categories
- Discussion Threads: Trending or popular discussions they might enjoy
Acceptance Criteria
Frontend
- Inactivity threshold configuration in settings
- Dashboard showing inactive member counts by threshold
- Preview of re-engagement email template
- Manual trigger option for sending re-engagement emails
Backend / API
- Track and store last login date for all members
- Scheduled job to identify inactive members
- AI service integration for generating personalized recommendations
- Email queue for re-engagement campaigns
Permissions
- Only
ROLE_CLIENT_ADMINcan configure inactivity thresholds and email templates
Business Rules
- Re-engagement emails sent maximum once per configured period (e.g., once every 30 days)
- Members can opt-out of re-engagement emails
- Email content respects member interest category preferences
- Recommendations exclude content the member has already viewed
Error Handling
- If AI recommendation service unavailable, send email with generic content
- Failed email deliveries logged and retried