Backend System Design in Practice: Reference Implementation
Architectural decision records (ADRs), concurrency race mechanics, and pre-flight auditing
Deconstruct the engineering trade-offs behind mission-critical systems. Using the companion Fintech Ledger API, analyze why layered architecture beats microservices for early teams, reproduce and eradicate lost-update bugs under 5,000 req/sec thread contention, and execute an exhaustive 50-point production pre-flight audit.
Course Prerequisites
- Enterprise Spring Boot Architecture Blueprint or extensive Spring Boot production background.
Part of Academy Track:
What You Will Master
Curriculum Modules (6 Modules)
Explore the structured module breakdown, lesson outcomes, and practical lab exercises.
Module 1: Architecture Decisions & Design Reasoning
2 Lessons • ~2.4 Study Hours (0.24 CEUs)Welcome to Module 1: Architecture Decisions & Design Reasoning. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Understand the explicit reasoning behind choosing a strict layered architecture, Spring Boot 3, and Java 21 LTS over alternatives β and why these choices matter more as the codebase scales.; Study the exact package layout, class naming conventions, and module boundaries used in the reference implementation β and understand why deviating from them accumulates technical debt..
Why Layered Architecture? Why Spring Boot 3 & Java 21?
Understand the explicit reasoning behind choosing a strict layered architecture, Spring Boot 3, and Java 21 LTS over alternatives β and why these choices matter more as the codebase scales.
Project Structure, Naming & Package Conventions
Study the exact package layout, class naming conventions, and module boundaries used in the reference implementation β and understand why deviating from them accumulates technical debt.
Module 2: Financial Precision & Domain Modeling
2 Lessons • ~3.5 Study Hours (0.35 CEUs)Welcome to Module 2: Financial Precision & Domain Modeling. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Demonstrate with reproducible code why double and float silently corrupt monetary calculations, why BigDecimal with HALF_EVEN rounding is the only safe choice, and what database column type to map to.; Design JPA entities with proper constraints, relationship mapping, and auditing fields β then migrate the schema safely through Flyway versioned SQL files without ever using ddl-auto=update..
Why `BigDecimal` β The Math Behind a Financial Bug
Demonstrate with reproducible code why double and float silently corrupt monetary calculations, why BigDecimal with HALF_EVEN rounding is the only safe choice, and what database column type to map to.
Entity Design & Flyway Migration Discipline
Design JPA entities with proper constraints, relationship mapping, and auditing fields β then migrate the schema safely through Flyway versioned SQL files without ever using ddl-auto=update.
Module 3: Concurrency, Locking & Transactional Integrity
1 Lessons • ~1.6 Study Hours (0.16 CEUs)Welcome to Module 3: Concurrency, Locking & Transactional Integrity. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Reproduce the classic lost-update concurrency bug on a wallet balance, then fix it using JPA @Version optimistic locking with @Retryable, and write a concurrent JUnit test that proves the fix works..
The Lost-Update Problem & Optimistic Locking
Reproduce the classic lost-update concurrency bug on a wallet balance, then fix it using JPA @Version optimistic locking with @Retryable, and write a concurrent JUnit test that proves the fix works.
Module 4: Authentication, RBAC & API Security
1 Lessons • ~1.5 Study Hours (0.15 CEUs)Welcome to Module 4: Authentication, RBAC & API Security. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Understand the complete request lifecycle through Spring Security's filter chain, implement JwtAuthFilter to validate tokens before controllers run, and design the SecurityFilterChain bean for a production API..
JWT Security Filter Chain Design
Understand the complete request lifecycle through Spring Security's filter chain, implement JwtAuthFilter to validate tokens before controllers run, and design the SecurityFilterChain bean for a production API.
Module 5: Distributed Caching, Rate Limiting & Idempotency
1 Lessons • ~1.4 Study Hours (0.14 CEUs)Welcome to Module 5: Distributed Caching, Rate Limiting & Idempotency. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Design a correct write-evict caching strategy for wallet balances using @Cacheable and @CacheEvict, understand why a stale cached balance is a trust-breaking bug, and configure Redis TTL and serialization..
Redis Cache Eviction Strategy for Financial Data
Design a correct write-evict caching strategy for wallet balances using @Cacheable and @CacheEvict, understand why a stale cached balance is a trust-breaking bug, and configure Redis TTL and serialization.
Module 6: Production Audit Checklist & Gotchas
2 Lessons • ~2.2 Study Hours (0.22 CEUs)Welcome to Module 6: Production Audit Checklist & Gotchas. In this section of the curriculum, learners dive deep into foundational and advanced principles designed for production application. This module covers: Apply the complete foundations and architecture pre-flight checklist before shipping to staging β covering virtual threads, OpenAPI, layering discipline, DTO conventions, and the @RestControllerAdvice rule.; Apply the complete data persistence, security, and integration pre-flight checklists β including the ddl-auto rule, BigDecimal mandate, optimistic locking, HikariCP sizing, rate limiter multi-instance gotcha, and circuit breaker vs. bulkhead distinction..
Pre-Flight Checklist: Foundations & Architecture
Apply the complete foundations and architecture pre-flight checklist before shipping to staging β covering virtual threads, OpenAPI, layering discipline, DTO conventions, and the @RestControllerAdvice rule.
Pre-Flight Checklist: Data, Security & Integration
Apply the complete data persistence, security, and integration pre-flight checklists β including the ddl-auto rule, BigDecimal mandate, optimistic locking, HikariCP sizing, rate limiter multi-instance gotcha, and circuit breaker vs. bulkhead distinction.
Enterprise Java & Spring Boot Progression
Continue advancing through the sequential curriculum stages of this academy track: