As a product and team grow, you might reach a point where it is hard to scale a monolith application due to different functionalities being tightly coupled in the same codebase with no boundaries.
Microservices have been making waves to solve such problems, however, they would bring their own sets of challenges.
A modular monolith can solve those problems without the drawbacks of microservices. A modular monolith is a system where all of the functionalities live in a single codebase and there are strictly enforced boundaries between different domains.
In this talk, I will walk you through how to modularise a monolith Laravel application based on domain boundaries and how to enforce strict boundaries between different domains.