Loading noCV…
Preparing the next view without exposing private workflow data.
Preparing the next view without exposing private workflow data.
A fictional equipment-rental service supports direct customers and two reseller contracts. Pricing now lives in a long conditional with subclasses left over from a discontinued campaign. Build a local TypeScript quoting module and synthetic fixtures; no starter repository, real charges, tax advice, or payment connection is supplied. Amounts use integer cents and the exercise supports USD only.
Practice brief · Version 5Open the first ticket for its prerequisites, acceptance criteria, verification plan, and an editable task draft.
Practice choosing, testing, and removing object-design abstractions around versioned business rules and tenant isolation.
Review changes that let a team introduce a contract without silently changing existing quotes, together with the maintenance costs of the chosen design.
Ten linked tickets in three phases. Create the declared local fixtures and module; deliver reproducible quotes, a migration comparison, and a short design decision record.
AI tools are welcome during implementation. Record assumptions, review the result, and verify its behavior.
Make quote inputs and current calculations explicit.
Introduce contract differences without mutable rule leakage.
Keep version boundaries stable and remove unsupported complexity.
Make quote inputs and current calculations explicit.
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Introduce contract differences without mutable rule leakage.
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Keep version boundaries stable and remove unsupported complexity.
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
Estimated field mix
Pattern topics
CSV keeps grouping and dependency keys as descriptive fields. Import mapping depends on your tracker configuration.