World 1 / Quest Boss

Phase 1 Boss Fight: Prove the API Skeleton

Finish Phase 1 with tests, curl output, ADR-001, and a tag.

Concept

A boss fight is not harder because it is mysterious. It is harder because all the small promises have to hold at the same time.

Task

  1. Run the full test suite.
  2. Start the app and capture curl transcripts for all four cinema endpoints.
  3. Confirm ADR-001 and the README package diagram are committed.
  4. Tag the repo phase-1-done.

Run

./gradlew test
curl -i http://localhost:8080/api/v1/cinemas
git tag phase-1-done

Expected Result

  • The transcript shows real HTTP status lines.
  • The tag points to a commit that includes tests and docs.

Common Traps

  • Capturing only happy-path GET and skipping POST or PUT.
  • Tagging before the transcript is committed.
  • Letting README claim an architecture the package tree does not match.

Hint Ladder

Hint 1

Use curl -i so the status line is visible.

Hint 2

Put transcripts under docs/transcripts so future articles can link to them.

Hint 3

A tag is a teaching artifact. It should point at the exact proof state.

Solution

Reference solution will link to the phase-1-done tag once the learner repo is public.

Boot 3 to 4 Delta

The Phase 1 article should close by comparing the Boot 3 starter shape to the Boot 4 dependency tree used here.