Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 3.63 KB

File metadata and controls

92 lines (68 loc) · 3.63 KB

Members App

Angular app for member self-service and cooperative administration.

Language

Member: Authenticated cooperative account with subscription, admin, and newsletter state. Avoid: Profile, user account

Doula Profile: Public directory content describing a doula's services and contact details. Avoid: Member profile when referring to the member account

Legacy Membership: Imported old-system membership record awaiting admin review or linking. Avoid: Unclaimed profile

Unclaimed Legacy Membership: A Legacy Membership not yet linked to a Member. Avoid: Unclaimed profile, unlinked profile

Unlinked Doula Profile: Existing Doula Profile content with no owning Member. Avoid: Unclaimed profile

Active Membership: A Member currently in good standing. Avoid: Profile approval, approved member

Profile Approval: Admin permission for a Member to create or edit a Doula Profile. Avoid: Active membership, approved member

Draft Profile: A Doula Profile hidden from public directory pages while retained for admin or owner use. Avoid: Unclaimed profile, deleted profile, inactive profile

Contact Message: General inbound message from the public contact form. Avoid: Match request, lead

Match Request: Public request for help finding a doula. Avoid: Contact message, lead

Pending Intake Item: A Contact Message or Match Request not yet handled by an admin. Avoid: Unsent item

Processed Intake Item: A Contact Message or Match Request marked handled by an admin. Avoid: Sent item

Cancel Membership: Stop or deactivate a Member's Active Membership without implying money is returned. Avoid: Refund

Membership Refund: Payment reversal workflow that deactivates membership and cascades to profile/newsletter cleanup. Avoid: Cancel membership

Newsletter Subscription: A secondary Member preference stored in account state and historically synced to a mailing list. Avoid: Active newsletter program

Admin: A signed-in person with the admin claim who can operate cooperative management screens. Avoid: Webmaster, superuser

Relationships

  • A Member may have zero or one Doula Profile.
  • An Admin may manage Members, Doula Profiles, Contact Messages, Match Requests, and Legacy Memberships.
  • A Doula Profile belongs to zero or one Member until linked.
  • A Legacy Membership may reference zero or one Unlinked Doula Profile by slug.
  • Linking an Unlinked Doula Profile to a Member may resolve the matching Unclaimed Legacy Membership.
  • Active Membership and Profile Approval are separate states.
  • Deleting an Unclaimed Legacy Membership may turn its referenced Doula Profile into a Draft Profile without deleting profile content.
  • A Contact Message or Match Request starts as a Pending Intake Item and can become a Processed Intake Item.

Example dialogue

Dev: "Can a Member renew without changing their Doula Profile?" Domain expert: "Yes — membership status and public profile content are separate." Dev: "Is this legacy row an Unlinked Doula Profile?" Domain expert: "No — the row is an Unclaimed Legacy Membership. Its slug may point to an Unlinked Doula Profile."

Flagged ambiguities

  • "profile" must not mean both Member account state and Doula Profile content.
  • "unclaimed profile" mixed imported membership records with unowned profile content; resolved: use Unclaimed Legacy Membership for import records and Unlinked Doula Profile for profile content without an owner.