User Journeys and Domain Modeling
Map signup, verification, organization creation, invitations, first value, upgrades, and cancellation before choosing libraries.
How to apply it
Model User, Organization, Membership, Project, Subscription, UsageEvent, and AuditEvent. A user can belong to multiple organizations, so Membership is a separate relationship. Write invariants such as every project belongs to one organization.
Worked example
A Membership record stores userId, organizationId, role, and status; each project stores organizationId and every access query is scoped to it.
Common mistakes to avoid
Putting all organization properties on User or leaving ownership rules implicit.
Practice task
Implement this concept in the capstone. Add one positive test, one negative or failure-path test, and a short note explaining the trade-off you chose.
- Map signup, verification, organization creation, invitations, first value, upgrades, and cancellation before choosing libraries.
- Model User, Organization, Membership, Project, Subscription, UsageEvent, and AuditEvent.
What is the strongest production practice for User Journeys and Domain Modeling?