GithubHelp home page GithubHelp logo

speedcom / es_cqrs_example Goto Github PK

View Code? Open in Web Editor NEW

This project forked from encodepanda/es_cqrs_example

1.0 3.0 1.0 127 KB

Sample application showing how Event Sourcing + CQRS can be implemented in Akka

License: Apache License 2.0

Scala 100.00%

es_cqrs_example's Introduction

es_cqrs_example

Note: this is only quick description of the project. The project is still in early shape of development. And so is its documentation :)

Sample application showing how Event Sourcing + CQRS can be implemented in Akka. This code is constantly improving since I try to find a state-of-the-art approach to the problem. The idea is to test all possible scenarios and corner cases for ES+CQRS architecture, showing both power and weaknesses of this design.

Design decisions

approach 1

At the moment I am finishing first approach. The code is based on activator template created by people from Scalac (kudos to @lukasgasior). This approach is however to tightly coupled with Akka. Once I'm done with creating basic commands & queries for propsed domain problem (see below) I will move to the second approach.

approach 2

This is still working progress, waiting till approach 1 is finished. Idea that I currently have in mind is to make akka-persistence only an pluggable infrastructure, decoupling it from ES+CQRS problem.

Domain

When I've started developing this project I was visiting Gdansk (Poland), where my wife was attending a huge conference for blogging community. As I was looking for a domain problem for this project, bloggers were as good as any other, but they were really appealing since they constantly interact with each other and application that could trace the history of such events seemed worth implementing :).

es_cqrs_example's People

Contributors

encodepanda avatar speedcom avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

kwark

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.