World 1 / Quest 1.1

Generate the Spring Skeleton

Create the smallest Spring Boot app that can carry the rest of the curriculum.

Concept

The first skeleton is deliberately plain. A backend course earns complexity by proving behavior, not by collecting starters before the domain needs them.

Task

  1. Generate a Spring Boot 4.1 app with Java 25 and Gradle Kotlin DSL.
  2. Add only Web, Validation, and Actuator.
  3. Document the initial package layout in README.md.

Run

./gradlew bootRun
./gradlew test

Expected Result

  • The application starts.
  • The test suite is green.
  • The package diagram names controller, service, repository, and domain boundaries.

Common Traps

  • Adding JPA before the schema lesson.
  • Adding Security before the API has behavior to protect.
  • Letting Initializr choices become architecture by accident.

Hint Ladder

Hint 1

A starter is a dependency and a lesson. If you cannot explain why it is here, it waits.

Hint 2

The package diagram can be text. The artifact matters more than the rendering tool.

Hint 3

Actuator is present now so later operational lessons have continuity.

Solution

Reference solution will link to the phase-1-start commit once the learner repo is public.

Boot 3 to 4 Delta

Boot 4 modularizes Spring Framework 7 era defaults. End the article with the actual starter delta from the generated dependency tree.