Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Cover image for Refactor a Tangled Order Aggregate at a Logistics Platform
Code

Refactor a Tangled Order Aggregate at a Logistics Platform

FreeVerified credential3 weeksAdvanced

Overview

What this challenge is about.

Work in the provided Spring Boot 3 + Java 21 codebase. Identify the true aggregate roots (likely candidates: Order, Shipment, Invoice) and split the god object accordingly. Extract value objects (Address, Money, TrackingNumber) — flag any primitive-obsession smell. Move side-effects into Domain Events handled by a separate event listener. Preserve all 340 existing tests; add tests for new aggregate invariants. Deliver refactored source code via PR, an ADR documenting aggregate boundary rules, and a 6-page writeup including bugs uncovered during refactoring (expect at least 3).

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

The Brief

What you'll do, and what you'll demonstrate.

Refactor a 4,200-line god aggregate into properly-bounded DDD aggregates without breaking existing tests, surfacing the bugs hiding in the tangled code.

Earning criteria — what you'll demonstrate

  • Apply tactical DDD patterns to a real legacy aggregate
  • Identify aggregate boundaries from invariants, not from data relationships
  • Refactor incrementally while preserving a behaviour-coverage test suite
  • Surface and document bugs uncovered by clarifying domain language

Program Fit

Where this fits in your program.

Sharpens the same skills your degree expects you to demonstrate.

Skills

Skills you'll demonstrate.

Each one shows up on your verified credential.

Careers

Roles this prepares you for.

Real titles. Real skill bridges. Pick the one closest to your trajectory.

Career mappings coming soon.

One more thing

You can put a credential on your CV by Friday.

Refactor a Tangled Order Aggregate at a Logistics Platform | Ewance Challenge