A modular monolith in Laravel with laravel-modules: boundaries, contracts and when not to split
Our subscription platform had grown into a Laravel app with 400 models in one namespace, and every change risked breaking billing. We restructured it into modules with nwidart/laravel-modules: what a module owns, how modules talk through contracts and events, and where a module is the wrong tool.