Skip to content

Event Modeling basics

EvidentSource Designer is built around Event Modeling, a lightweight method for designing information systems by sketching the events, commands, and views that make them up — before writing a line of code.

This page is a fast orientation. The Event Modeling site has the full method.

Event Modeling uses four block types, drawn left-to-right on a timeline:

  • Events (orange) — things that happened. Immutable. Named in past tense: TodoCompleted, LoanDisbursed.
  • Commands (blue) — intentions submitted to the system. Named in imperative: CompleteTodo, DisburseLoan. Produce events.
  • State Views (green) — queryable projections used by UI screens or other commands. Folded from events.
  • UI / Automation (yellow) — the triggers that cause commands, either user-facing screens or automated processes.

A flow reads left-to-right: a user triggers a command from a screen; the command produces events; events fold into state views; state views feed the next screen.

  • Non-engineers can read the model. Product owners, domain experts, and auditors can verify the system’s behavior from the whiteboard.
  • The model is executable. Designer turns it into code — the decide and evolve stubs are generated from the blocks.
  • It stays in sync. When the model changes, regeneration keeps the code shape aligned.

Create a project. Drop blocks onto the canvas. Name and connect them. Fill in the data shapes (see Defining schemas). Hit Generate to get a buildable project — see Generating code.