World 0 / 0.1
Java 25 for Kotlin Developers
Build the translation table you will use for the rest of the course.
javatutorial.imdmp.com
Learn modern Java backend development by building one real Spring Boot API from scratch. No toy CRUD, no frontend detour, no fake production claims.
Read
Build
Test
Commit
Unlock
Built for JVM engineers
The site teaches. The Palabas repo proves. Every quest names a concrete task, the command that verifies it, and the artifact that should exist afterward.
MVP progress is local to your browser. Hosted graders, GitHub OAuth, and AI hints wait until at least Phase 1 is fully teachable.
First public slice
World 0 / 0.1
Build the translation table you will use for the rest of the course.
World 1 / 1.1
Create the smallest Spring Boot app that can carry the rest of the curriculum.
World 1 / 1.3
Wire controller to service to repository without hiding dependencies.
World 1 / 1.6
Commit the API versioning decision before future endpoints multiply.
World 1 / Boss
Finish Phase 1 with tests, curl output, ADR-001, and a tag.
World 2A / 2A.0
See why the database model comes before JPA entities.
World 2A / 2A.1
Create the first Flyway migration for cinemas and screens before any JPA entity exists.
World 2A / 2A.2
Model showtimes as booking facts with stored occupancy windows.
World 2A / 2A.3
Enforce no overlapping showtimes per screen with a GiST exclusion constraint.
World 2A / 2A.4
Add indexes for known reads and capture the planner story without forcing a fake win.
World 2A / Boss
Finish SQL-first by proving constraints, notes, time handling, ERD, seed data, and EXPLAIN artifacts exist together.
A committed kata file with notes on records, Optional, streams, sealed switch, and virtual threads.
A wiring test, curl transcript, ADR-001, and a phase-1-done tag.
Constraints, EXPLAIN transcripts, schema notes, and time notes.