Directory Structure

app/ bootstrap/ ├── cache/ ├── app.php ├── environment.php config/ database/ public/ resources/ storage/ tests/ vendor/ .env .env.example .gitattributes .gitignore artisan composer.json package.json package.json phpunit.xml server.php vaahcms.json webpack.mix.js VaahCms/ ├── Modules/ ├── Themes/

Read more about Laravel Directory Structure. The only differences are following:

bootstrap/ ├── app.php ├── environment.php vaahcms.json VaahCms/ ├── Modules/ ├── Themes/

VaahCms folder contains two more sub folders Modules & Themes. As the name suggests, Modules folder will have files and folders of VaahCMS Modules which extend the functionality of VaahCMS, majorly the backend control panel. While, Themes folder will contain files and folders of VaahCMS Themes which extends the public (frontend) section of the application.

Each Module and Theme will have it's own directory structure which will be discussed in respective topics in the documentation.

bootstrap / environment.php file is responsible to detect the environment from vaahcms.json file based on APP URL and apply respective .env file.