Laravel Project Directory Structure Review
.editorconfig
Can be deleted, simply tells editors/IDEs what formatting you like
.env
Where important config details are stored e.g. database details (never commit to git)
.env.example
Example of env file
.gitattributes
Tells git how you want things to be stored - not important
.gitignore
Define which files and directories should be ignored from git
artisan
File that is triggered when you run php artisan
composer.json
Config file that specifies all dependencies
composer.lock
Locks dependencies to specific versions to ensure consistency (should be commited to git)
package.json
Helps with front-end compilation
phpunit.xml
Not covered
server.xml
Not covered
webpack.mix.js
Wrapper around webpack, makes front-end compilation easier
yarn.lock
Similar to composer.lock
/vendor
Where all composer dependencies will be installed
/tests
Any tests that you write will go here
/storage
Home for various stage files e.g. logs
/routes
Where routes are stored
/resources
Where views, css, sass/less, and js is stored i.e. anything that needs to be compiled
/public
Compiled files i.e. images, compiled js/css etc.
/database
Stores migrations, factories, and seeds
/config
Various config
/bootstrap
How the framework boots itself, can mostly be ignored
/app
The place where your app lives - models, controllers