← Track projects
Track project · 17

Model an Enterprise Procurement Workflow

Transfer the course architecture into a business workflow with approvals, auditability, background work, and tenant boundaries.

Definition of done

What you are building

Deliverables

Build plan

Work through it one observable step at a time

  1. 01

    Write the procurement lifecycle as explicit states/transitions before designing tables.

  2. 02

    List invariants such as received quantity not exceeding ordered quantity.

  3. 03

    Model requisition, approval, purchase order, goods receipt, and invoice relationships.

  4. 04

    Define approval authority and record every decision as audit evidence.

  5. 05

    Use effective dates where business truth is time-dependent.

  6. 06

    Design inventory movement as an append-oriented business event instead of silently overwriting stock history.

  7. 07

    Use a database transaction plus outbox row for one reliable integration event.

  8. 08

    Process the outbox with a retryable background worker and make the handler idempotent.

  9. 09

    Add tenant keys and authorization rules to every query path.

  10. 10

    Create a reporting read model without moving core invariants into reporting code.

  11. 11

    Explain where you deliberately did not introduce microservices or extra infrastructure yet.

Evidence

Do not rely on “it seems to work”

Evidence to collect

Project exit ticket

Close the project only when these are true

Completion