# Awesome CQRS and Event Sourcing [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) A curated list of awesome CQRS and Event Sourcing things. Inspired by [all the other awesome things](https://github.com/bayandin/awesome-awesomeness). ## Intro - [CQRS, Task Based UIs, Event Sourcing agh!](http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/) - [CQRS & Event Sourcing. Talk by The Guild](https://speakerdeck.com/theguildconf/cqrs-and-event-sourcing) ## CQRS - [CQRS by Martin Fowler](http://martinfowler.com/bliki/CQRS.html) - [Command/Query Responsibility Segregation](https://gnugat.github.io/2015/08/25/cqrs.html) - [Clarified CQRS](http://udidahan.com/2009/12/09/clarified-cqrs/) - [CQRS Journey](http://cqrsjourney.github.io/) - [Edument](http://cqrs.nu/) ## Event Sourcing - [Event Sourcing by Martin Fowler](http://martinfowler.com/eaaDev/EventSourcing.html) - [Event sourcing revisited](https://lostechies.com/gabrielschenker/2015/05/26/event-sourcing-revisited/) - [Event Sourcing applied – the Aggregate](https://lostechies.com/gabrielschenker/2015/06/06/event-sourcing-applied-the-aggregate/) - [Event-sourcing, Part I](http://karmajunkie.com/blog/2012/05/05/event-sourcing/) - [Event sourcing for the rest of us](http://tojans.me/blog/2013/07/28/event-sourcing-for-the-rest-of-us/) - [Achieving Consistency in CQRS with Linear Event Store](http://squirrel.pl/blog/2015/09/14/achieving-consistency-in-cqrs-with-linear-event-store/) - [Entry-level, synchonous & transactional event sourcing](https://softwaremill.com/entry-level-event-sourcing/) - [Event Sourcing vs Command Sourcing](http://thinkbeforecoding.com/post/2013/07/28/Event-Sourcing-vs-Command-Sourcing) - [A Whole System Based on Event Sourcing is an Anti-Pattern](https://www.infoq.com/news/2016/04/event-sourcing-anti-pattern) ## Domain Events - [Domain Event by Martin Fowler](http://www.martinfowler.com/eaaDev/DomainEvent.html) - [Domain Event by Mathias Verraes](http://verraes.net/2014/11/domain-events/) ## REST and CQRS - [REST API Design - Resource Modeling](https://www.thoughtworks.com/insights/blog/rest-api-design-resource-modeling) - [Exposing CQRS Through a RESTful API](https://www.infoq.com/articles/rest-api-on-cqrs) - [Reconciling ReST, CQRS and Event Sourcing](http://graemef.com/blog/2012/09/02/Reconciling-ReST-and-CQRS/) - [CQRS with Elixir and Phoenix](http://jfcloutier.github.io/jekyll/update/2015/11/04/cqrs_elixir_phoenix.html) - [Should CQRS services be RESTful?](https://groups.google.com/forum/#!topic/dddcqrs/YdTAIcGMXFI%5B1-25%5D) ## Talks (Slides) - [Event sourcing in practice](http://ookami86.github.io/event-sourcing-in-practice/#title.md) - [Introduction to Event Sourcing and CQRS with Broadway (PHP Benelux 2016)](https://speakerdeck.com/simensen/introduction-to-event-sourcing-and-cqrs-with-broadway-php-benelux-2016) - [Building Microservices with Event Sourcing and CQRS](http://www.slideshare.net/mploed/building-microservices-with-event-sourcing-and-cqrs) - [Building and deploying microservices with event sourcing, CQRS and Docker (QCONSF 2014)](http://pt.slideshare.net/chris.e.richardson/building-and-deploying-microservices-with-event-sourcing-cqrs-and-docker-qconsf-2014) - [Agile, Architecture, DDD and CQRS](http://www.slideshare.net/jeppec/agile-ddd-cqrs) - [CQRS recipes or how to cook your architecture](http://www.slideshare.net/tjaskula/cqr-sv2) - [REST and DDD](https://skillsmatter.com/skillscasts/2325-rest-and-ddd) ## Talks (Videos) - [Greg Young — A Decade of DDD, CQRS, Event Sourcing](https://www.youtube.com/watch?v=LDW0QWie21s) - [Greg Young - CQRS and Event Sourcing - Code on the Beach 2014](https://www.youtube.com/watch?v=JHGkaShoyNs) - [CQRS/DDD by Greg Young](https://www.youtube.com/watch?v=KXqrBySgX-s) - [GregYoung 8 CQRS Class](https://www.youtube.com/watch?v=whCk1Q87_ZI) - [Practical Event Sourcing](http://verraes.net/2014/03/practical-event-sourcing/) - [CQRS with Erlang](https://www.infoq.com/presentations/cqrs-erlang) - [Building Microservices with Event Sourcing and CQRS](https://www.infoq.com/presentations/microservices-event-sourcing-cqrs) - [GeeCON 2014: Sandro Mancuso - Crafted Design](https://vimeo.com/101106002) - [Skills Matter](https://skillsmatter.com/) - [YOW! Nights March 2016: Martin Fowler - Event Sourcing](https://www.youtube.com/watch?v=aweV9FLTZkU) ## Examples - [Simple CQRS example](https://github.com/gregoryyoung/m-r) - [Microsoft patterns & pratices CQRS Journey sample application](https://github.com/mspnp/cqrs-journey) - [Broadway](http://labs.qandidate.com/blog/2014/08/26/broadway-our-cqrs-es-framework-open-sourced/) - [Broadway Examples](https://github.com/qandidate-labs/broadway/tree/master/examples) - [Buttercup.Protects](http://buttercup-php.github.io/protects/) - [EventCentric.Core](https://github.com/event-centric/EventCentric.Core) ## Tools - [Event Store](http://geteventstore.com/) - [EventStore using Postgres for persistence written in Elixir](https://github.com/slashdotdash/eventstore) ## Books - [Exploring CQRS and Event Sourcing](https://www.microsoft.com/en-us/download/details.aspx?id=34774) - [Domain-Driven Design Distilled](http://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420) ## Twitter - [Greg Young](https://twitter.com/gregyoung) - [Daniel Whittaker](https://twitter.com/codescribler) - [Sandro Mancuso](https://twitter.com/sandromancuso) ## Blogs - [Mathias Verraes](http://verraes.net/) - [Vaughn Vernon: Software Craftsman](https://vaughnvernon.co/) - [CQRS & Event Sourcing by Daniel Whittaker](http://danielwhittaker.me/) - [Software Design by Rinat Abdullin](https://abdullin.com/) - [Think Before Coding by Jérémie Chassaing](http://thinkbeforecoding.com/) - [Konrad Garus](http://squirrel.pl/blog/tag/cqrs/) ## Podcasts - [Being the Worst](http://www.beingtheworst.com/) ## Community - [StackOverflow CQRS](http://stackoverflow.com/questions/tagged/cqrs) - [StackOverflow Event Sourcing](http://stackoverflow.com/questions/tagged/event-sourcing) ## Groups - [DDD/CQRS](https://groups.google.com/forum/#!forum/dddcqrs) - [DDDinPHP](https://groups.google.com/forum/#!forum/dddinphp) ## Discussions - [DDD/CQRS/ES/NoSQL and functional programming](http://elixirforum.com/t/ddd-cqrs-es-nosql-and-functional-programming/519) - [Acting like I don't get the message :-/](https://groups.google.com/d/msg/dddcqrs/5LllWF5ZVLw/TlJ86khgTaYJ) - [Achieving consistency in CQRS with linear event store](https://www.reddit.com/r/programming/comments/3l0hp1/achieving_consistency_in_cqrs_with_linear_event/) ## Events - [Domain-Driven Design Europe](http://dddeurope.com/2017/) ## More awesome - [awesome-ddd](https://github.com/wkjagt/awesome-ddd)