# http://www.graphviz.org/content/cluster digraph G { subgraph cluster_0 { label = "Event sourcing roadmap"; aes [style=filled, color = "palegreen", label = "Align on end state" ] ap [style=filled, color = "palegreen", label = "Aggregate pattern" ] qp [style=filled, color = "palegreen", label = "Query pattern"] sc [style=filled, color = "pink", label = "Create subclasses for existing events" ] sl [style=filled, color = "pink", label = "Pattern for sharing logic between aggregates"] eep [style=filled, color = "pink", label = "Pattern for mixing entities and events"] cgi [style=filled, color = "pink", label = "Migrate to client generated Ids"] rd [style=filled, color = "palegreen", label = "Pull referance data out of the db"] me [style=filled, color = "pink", label = "Synthesising 'missing' events e.g. AssetCreated"] mp [style=filled, color = "pink", label = "Marten POC"] # inclues: # - perf test # - spike/mob on document storage for entities ms [style=filled, color = "pink", label = "Migration Strategy"] # inclues: # - how do we migrate data? # - what is our strategy strangler/big bang/parallel? aes -> ap -> qp -> rd -> mp -> ms rd -> me -> sc -> cgi -> sl -> eep; } subgraph cluster_1 { label = "Legend" ns [style=filled, color = "pink", label = "Not Started" ] ip [style=filled, color = "lightblue", label = "In Progress"] dn [style=filled, color = "palegreen", label = "Done"] } }