Laravel Idea uses the Module systems concept to understand the structure of applications. It helps to correctly complete the views, config, routes and more convenient code generation. Module system for the project can be configured in File | Settings | Languages & Frameworks | Laravel Idea | Module System:
Typical Laravel application with one module in the
Module system for application with logical modules inside one directory. This article describes the reason and possible implementation: https://stitcher.io/blog/laravel-beyond-crud-01-domain-oriented-laravel
Each code generation has a configuration options about participating in modules. Database migrations usually don't need to be un the modules, but controllers do:
Module system for application built using nWidart/laravel-modules package.
Module system for packages, not applications. It uses only
composer.json file to determine namespaces.
This module system is for projects with modules as separated composer packages. It uses modules
composer.json file for namespaces.
Sources path parameter is a location of the main module (it is
app for standard application).
Root directory path parameter is the directory containing module directories.
composer.json file location for modules with
composer.json file not in the root of the module.