A walkthrough of using Event Storming — a collaborative DDD workshop technique — to design a GraphQL schema. The process involves six steps: identifying domain events as past-tense verbs, deriving GraphQL mutations from commands, grouping them under aggregates, enforcing bounded context boundaries to define top-level fields (for monoliths or federated microservices), identifying views/queries per aggregate, and finally writing the schema. The approach emphasizes involving both domain experts and developers to build a shared understanding, avoiding costly schema mistakes. Includes a concrete schema example from a Hackernews-like app (DDDForum).
Table of contents
IntroductionEvent StormingUsing an Event Storm to design a GraphQL SchemaFinal thoughts3 Impressions