The Directory Structure

The top-level folders of a new applicationPHP
tree -L 1 -d
Output
.
├── app
├── bootstrap
├── config
├── database
├── node_modules
├── public
├── resources
├── routes
├── storage
├── tests
└── vendor
12 directories

Your code lives in app/ (classes in the App\ namespace), routes/, resources/ (Blade views and the CSS and JavaScript that Vite 25,978 compiles), database/ (migrations, seeders and the SQLite 4,756 file) and tests/. The rest is plumbing: bootstrap/app.php wires routing and middleware (bootstrap/app.php), config/ holds ten files that read .env, and storage/ holds logs, compiled views and uploads and must be writable by the web server. Beside them sit ten files: the artisan script, composer.json, package.json and their lock files, vite.config.js, phpunit.xml, a README, and AGENTS.md and CLAUDE.md, two identical setup-note files you may delete.

Only public/ is served, holding index.php and the compiled build/ assets. Point Apache's DocumentRoot at it (Virtual Hosts): one level up would publish .env, with its database password and APP_KEY, to anyone who asks.

Summarizing the application's configurationShell
php artisan about --only=environment,drivers
Output
...
  Laravel Version .................................................... 13.33.0
  PHP Version .......................................................... 8.5.4
...
  Database ............................................................ sqlite
...
  Queue ............................................................. database
  Session ........................................................... database

Cache, queue and sessions default to database tables, hence those install-time migrations.