Skip to content

An implementation of the checkout kata using full blown clean architecture and more

prosac/checkout-kata-java-spring-boot

Repository files navigation

Coding challenge "Checkout with discounts"

Technologies

  • Java
  • Spring Boot
  • IntelliJ
  • Emacs
  • Claud Code

I am an avid Doom Emacs user, but this is a nice opportunity to have a look at JetBrains IntelliJ after many years of absence.

Mind that java is not my primary language in the last years.

General Approach

In late 2025, we are entering the era of agentic coding and spec driven development. This is reflected in the way I approach this coding challenge. I will not use github spec kit, but rather a TDD/BDD oriented approach with claude code.

Also I am going to treat it as an opportunity to throw full blown clean architecture at a small topic...

  • Read and understand assignment myself
  • Make notes about what I discover and annotate the task. See ./ANNOTATED_TASK.md
  • Craft a first ./AGENTS.md that will be iterated on in the process
  • Implement first test
  • Follow TDD/BDD together with claude
  • Iterate (including on the AGENTS.md) until I like it ;-)

Additional info

  • Find notes about patterns used in PATTERNS.md
  • KAIZEN.md lists things I would improve if I would go on iterating
  • RUNBOOK.md gives a quick overview how to run tests, build etc.

Conclusion after completion

An experienced programmer using one of the top notch AI coding agents available in late 2025, can be many times more productive and generally better. The active working time on this was about 4 hours. I can type fast, but I could never have achieved this without.

This implies that in the hands of inexperienced people the amount of convoluted hard to work with code created might be overwhelming.

Look mom, I am talking to the machine.

We live in interesting times.

About

An implementation of the checkout kata using full blown clean architecture and more

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages