Skip to main content

Capstone Brief

intermediate12 min readLesson 118 of 180

The system map, which modules surface where, and the milestone ladder.

Capstone: the Expense Tracker

You will assemble a small but real system. The domain: expenses with categories; the report layer answers money questions; persistence hides behind a repository interface.

ReportService โ†’ ExpenseRepository (interface) โ†’ InMemoryExpenseRepository
      โ†“ uses
Money / Category value types, Expense record

Everything you built this course appears:

  • records + validation (Module 1): Expense refuses bad data at birth
  • interfaces + injection (Modules 2, 12): the service never sees the in-memory map
  • generics + collections (Modules 3โ€“4): typed repositories, comparators
  • streams/collectors (Module 5): the report layer groups and totals
  • exception architecture (Module 6): domain exceptions carry data
  • testing (Module 8): every graded test is a boundary net
  • architecture (Module 12): DTO-shaped report rows leave the service

The three challenges below are milestones; the checkpoint is the integrated system.

Now practice

Capstone MilestonesDomain โ†’ repository โ†’ reports: the three milestones of the integrated expense tracker.3 challenges ยท ยท ~45 min