A ready-to-run Laravel 13 application for the live coding session. Everything runs in Docker, so nothing needs to be installed on your machine beyond Docker Desktop.
make up
The first run builds the PHP image, installs the Composer dependencies and runs the
migrations, so give it a minute or two. When it prints Ready. you have:
| What | Where |
|---|---|
| Landing page | http://localhost:8000 |
| Flights UI | http://localhost:8000/flights |
| Example API | http://localhost:8000/api/ping |
| Flights API | http://localhost:8000/api/flights (see below) |
| Health check | http://localhost:8000/up |
| MySQL 8.4 | localhost:33062 — app / app / secret |
| Redis 7 | localhost:63792 |
Edit files on your machine with your normal editor; the project directory is mounted into the container, so changes are live on the next request. No rebuild needed.
make test # run the test suite
make testf F=tests/Feature/ExampleTest.php # run one test file
make art C="make:model Booking -mf" # any artisan command
make composer C="require guzzlehttp/guzzle"
make tinker # REPL
make fresh # wipe and re-migrate the database
make db # MySQL shell
make logs # tail storage/logs/laravel.log
make app # bash shell inside the container
make down # stop everything
make on its own lists them all.
make freshreseeds the demo user and their flights. The API token staysdemo-token(setDEMO_API_TOKENin.envto change it).- Prefer a file database over MySQL? Uncomment the SQLite lines in
.env, thentouch database/database.sqliteandmake restart. .envis committed on purpose here — this is a throwaway interview environment, not something you would do in a real project.