I built a "real job" simulator for Spring Boot learners, free & open source

작성자

카테고리:

← 피드로
DEV Community · Waleed Tariq · 2026-08-05 개발(SW)
Cover image for I built a "real job" simulator for Spring Boot learners, free & open source

Waleed Tariq

Most Spring Boot tutorials teach you to build a CRUD app and call it a day. But that’s not really what the job looks like day to day, so I put together a project that mimics what you’d actually work on as a backend dev at a company with real infrastructure.

🔗 Repo: springboot-learning-kit

I’ve added the following 12 tasks that you’d need to complete:

  1. Project setup: spin up Postgres + messaging brokers, verify everything’s healthy
  2. Kicking off development: request validators, custom exceptions, a new order status API
  3. Debug a critical bug: chase down a duplicate-insert caused by misusing EntityManager.persist() vs save()
  4. ActiveMQ + Apache Camel: configure routes, consume from a queue, handle dead letter queues, publish to a Virtual Topic
  5. RabbitMQ: set up exchanges/bindings, fix an infinite redelivery bug, publish to a topic exchange
  6. DB schema migration: add a table with Liquibase, write rollback SQL, fix an N+1 write
  7. Testing: unit tests with Mockito, snapshot tests, integration tests with TestContainers
  8. Code style: enforce formatting automatically with Spotless + Palantir Java Format
  9. Prometheus metrics: expose app metrics via Actuator, configure scraping
  10. Grafana: connect to Prometheus, build dashboards, add @Timed annotations
  11. Load testing: run JMeter tests, interpret throughput, watch the impact in Grafana
  12. Global exception handling: swap per-controller try-catch for @ControllerAdvice + RFC 7807 Problem Details

Everything runs locally via Docker Compose, and there’s a Bruno collection included so you can hit the APIs without writing your own Postman setup.

It’s completely free and open source, so fork it, work through the tasks in order, and you’ll come out the other side with a much better feel for what the job actually involves beyond “make endpoint, save to DB.”

Would love feedback from people!

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다