tree -L 1 -d. ├── 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.
php artisan about --only=environment,drivers... 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.