AshCommanded: Declarative CQRS and ES patterns for Ash

Some people would call me slow...I would have to agree as it took me only a few decades to finally contribute back to the open-source community. This extension will let you declare commands, events, etc inside your resources and will generate the modules required for integration with the Commanded library at runtime for you. https://hexdocs.pm/ash_commanded/readme.html
8 Replies
Oliver
Oliver•3w ago
Can't wait for the lengthy discussion on elixirforum on whether or not this is real CQRS or not 😂 Congrats on the release @pcharbon70 !
pcharbon70
pcharbon70OP•3w ago
Hehe, this one is based on the Commanded library so they can discuss it with him! The underlying library can also connect to EventStoreDB and so can this one. I used Commanded in production before but it has a lot of ceremony. Since discovering Ash declarative approach I become too lazy...
ZachDaniel
ZachDaniel•3w ago
You should share it on ElixirForum. Will be curious to hear what folks think of it Do you care if I share this?
pcharbon70
pcharbon70OP•3w ago
On just did but not sure if in right area so sure go ahead. Ahh yeah did not post in Ash forum, so sure go ahead
ZachDaniel
ZachDaniel•3w ago
I was going to post it on Bluesky is all
pcharbon70
pcharbon70OP•3w ago
Ohh sure thing I am not much on social media
Jaeyson Anthony Y.
Jaeyson Anthony Y.•3w ago
is this different from ash_events
pcharbon70
pcharbon70OP•3w ago
Yes in the sense that implements the full CQRS/ES cycle. Its based on the battle-tested Commanded library by Ben Smith. I only wrote a DSL that lets us easily declare it and use Ash actions with it. It really depend if you intent to implement a fully event-source system or not. AshEvents might be totally enough for your purposes. It can be complex writing a whole CQRS/ES system and there are many things to consider. It can also be really rich and rewarding too though when well done.

Did you find this page helpful?