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.
Four blocks
Section titled “Four blocks”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.
Why model before coding
Section titled “Why model before coding”- 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
decideandevolvestubs are generated from the blocks. - It stays in sync. When the model changes, regeneration keeps the code shape aligned.
Working in Designer
Section titled “Working in Designer”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.
Further reading
Section titled “Further reading”- Design your first system — guided walkthrough.
- eventmodeling.org — the method itself.