nwidart/laravel-modules is a Laravel package which was created to manage your large Laravel app using modules. A module is like a Laravel package, it has some views, controllers or models. This package is supported and tested in Laravel 5.
This package is a re-published, re-organised and maintained version of pingpong/modules, which isn't maintained anymore. This package is used in AsgardCMS.
With one big added bonus that the original package didn't have: tests.
Find out why you should use this package in the article: Writing modular applications with laravel-modules.
Generate your first module using
php artisan module:make Blog. The following structure will be generated.
app/ bootstrap/ vendor/ Modules/ ├── Blog/ ├── Assets/ ├── Config/ ├── Console/ ├── Database/ ├── Migrations/ ├── Seeders/ ├── Entities/ ├── Http/ ├── Controllers/ ├── Middleware/ ├── Requests/ ├── Providers/ ├── BlogServiceProvider.php ├── RouteServiceProvider.php ├── Resources/ ├── assets/ ├── js/ ├── app.js ├── sass/ ├── app.scss ├── lang/ ├── views/ ├── Routes/ ├── api.php ├── web.php ├── Repositories/ ├── Tests/ ├── composer.json ├── module.json ├── package.json ├── webpack.mix.js