A case study describing how I built a web app following a Command Query Responsibility Segregation and event sourcing (CQRS/ES) pattern. In Elixir using the Phoenix Framework.<p>It uses two open-source Elixir libraries I've authored to provide the building blocks for such applications:<p>* EventStore: A CQRS event store that uses PostgreSQL (v9.5 or later) as the underlying storage engine. [1]<p>* Commanded: Provides support for command registration and dispatch; hosting and delegation to aggregate roots; event handling; and long running process managers. [2]<p>It's an unorthodox approach to building Phoenix web apps. The article details why you might consider applying it.<p>[1] <a href="https://github.com/slashdotdash/eventstore" rel="nofollow">https://github.com/slashdotdash/eventstore</a><p>[2] <a href="https://github.com/slashdotdash/commanded" rel="nofollow">https://github.com/slashdotdash/commanded</a>