Multi-tenancy was added to a Rails e-commerce application using Domain-Driven Design without modifying existing bounded contexts. The solution introduces a new "Stores" bounded context that emits registration events linking resources to stores, while read models filter data by store_id. This approach preserves domain reusability and keeps multi-tenancy concerns at the application layer. Claude AI assisted with 90% of the implementation, with mutation testing (mutant) catching hallucinations and ensuring code quality across 16 read models.
Table of contents
The ecommerce projectThe obvious solution - add store_id to all commands/eventsThe different schema approachWhat exactly is multi-tenancy?My solutionHow Claude Code helped me hereSummarySort: