1: Initial Architecture: Focus On Simplicity

2: Modules Separation: Focus On Maintainability

3: Microservice Extraction: Focus On Growth

4: Applying Tactical Domain-Driven Design: Focus On Complexity