Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Robert Reppel
    @robertreppel
    I found that Alberto's book ( http://eventstorming.com/ ) helps a lot.
    And we do this stuff regularly at https://www.meetup.com/en-AU/DDD-CQRS-ES/ .
    MCTaylor17
    @MCTaylor17
    Is Alberto's book fairly comprehensive? I thought I heard Eric Evan's book mentioned as well, but that was the DDD manifesto. I'd be most interested in anything covering modern best practices, preferably in Node or Go
    Apparently, there's never been a better time to learn Go!
    Robert Reppel
    @robertreppel
    Alberto's book is specifically about event storming. Eric's book is about architecture, especially when it comes to handling complexity in large scale systems. So is Vaughn Vernon's DDD book.
    Robert Reppel
    @robertreppel
    As to specific languages like Node and Go ... oh dear ... floods of material out there. As to which part of that constitutes "best practices", modern or otherwise - I like to relate it back to basics, like managing coupling and cohesion and whether the code is simple and easy to understand. There are others and YMMV, but I find DDD to be a helpful frame of reference for doing that.
    MCTaylor17
    @MCTaylor17

    @robertreppel I think I found the component that I'm concerned with:

    https://imgur.com/a/17PZx

    MCTaylor17
    @MCTaylor17
    In the Matt Walters describes it in the original video as just another part of the events system except that it specializes in persisting data for consumption by the UI. If this doesn't belong in EMD, would that make it the natural entry point for the read-model architecture?
    Robert Reppel
    @robertreppel
    Yes, that looks like it when discussing read models in the context of design patterns for UI/UX implementation . Here's another example, but in the context of enterprise integration: http://www.enterpriseintegrationpatterns.com/patterns/messaging/EventDrivenConsumer.html .
    And here are some in the context of implementing them in NodeJS: https://github.com/Adaptech/nota/tree/master/api/src/readModels .
    Robert Reppel
    @robertreppel
    Several people at #lestercon had the idea of real-time Swagger API prototyping straight from EMD (or EML). See Adaptech/les#13 . If that works ... basically, edit the event storming and check out the resulting API in the browser live. That would be awesome. It would not be building the entire event sourced system (for performance reasons?) until everybody is happy with the API prototype.
    MCTaylor17
    @MCTaylor17
    I was just at the book store and I saw that O'Reily has a book set to be published in June.
    I'm not sure what to think about all the "multi-sensory" learning format, but I've liked O'Reilly's books in the past.
    Robert Reppel
    @robertreppel
    @MCTaylor17 ... "Ways to adjust the fidelity and scope of modeling for efficient discovery and model capture", "rapid low-fidelity group modeling". So many things are coming together in the DDD/CQRS/ES space at the moment. Interesting.
    Yogiraj Aradhye
    @YogirajA
    @robertreppel @adymitruk is lestercon recording available?
    Robert Reppel
    @robertreppel
    @YogirajA not yet, but it will be.
    MCTaylor17
    @MCTaylor17

    That event storming book is full of [FIXME: some mental tangent] but the unpolished nature has led to some inclusions you wouldn't find elsewhere. For example:

    "Dan North once compared kicking-off an EventStorming to starting an old chainsaw: …wrrrr, …wrrrr, and then all of a sudden …WRAAAAAAAAAAAAAAA!!!"

    Quite vivid
    Robert Reppel
    @robertreppel
    :smile: :+1: "vivid" is what it's about.
    Robert Reppel
    @robertreppel
    @markgukov merged your pull request - thanks!
    Robert Reppel
    @robertreppel
    Just did a release (0.10.2-alpha). If anybody has a Mac or a Windows machine handy ... the builds for these platforms haven't been tested.
    Robert Reppel
    @robertreppel
    image.png
    For the next release - preconditions for commands. "MarkAsAuthenticated" returns a validation error if user is not registered or if user is deleted. Just pushed that to master.
    Robert Reppel
    @robertreppel
    A new release (0.10.3-alpha) is out: https://github.com/Adaptech/les/blob/master/CHANGELOG.md
    Adam Dymitruk
    @adymitruk
    @nicdex
    just checking if you're on here.
    Nicolas Dextraze
    @nicdex
    A new release (0.10.4-alpha) is out: https://github.com/Adaptech/les/blob/master/CHANGELOG.md
    Robert Reppel
    @robertreppel
    There's a draft LESTER stack tutorial and FAQ at https://docs.letseventsource.org/ . (The tutorial is still missing an example for using command preconditions. )
    Nicolas Dextraze
    @nicdex
    Hi everyone, there was code generation and compliance issues with current release 0.10.4-alpha. It's now fixed, please re-install following instructions at https://github.com/Adaptech/les/blob/master/INSTALL.md
    Robert Reppel
    @robertreppel
    Version 0.10.5-alpha has been released: https://github.com/Adaptech/les/blob/master/CHANGELOG.md
    Miner command line tool enhancement and some fixes.
    rickr789
    @rickr789
    Hey all. I finally found some time to test out the lester getting started guide. I'm using windows 10 home, and Docker toolbox. I'm following the TODO list example. I'm getting the following error. "ERROR: Windows named pipe error: The system cannot find the file specified. (code: 2)" Is there a specific log file I should look into?
    The command that I am running is "les convert && les-node -b && cd api && npm install && docker-compose up -d --force-recreate"
    rickr789
    @rickr789

    To clarify: It's the docker-compose command that is generating this error. Docker is newly installed on this laptop, and docker passed the hello-world test from docker's getting started guide.

    FYI: I'm new to using docker, so I thought this clean install on windows would be an opportunity to help test how well our getting started guide addresses the promise of LESTER being usable by a business stakeholder with a technical background.

    rickr789
    @rickr789
    Problem solved. I was in the wrong shell for running docker. I needed to run docker-compose from the Docker quickstart terminal that was created as part of the docker toolbox installation.
    rickr789
    @rickr789

    It's up and running, but not on localhost.
    I need to change the config for all the URLs to something other than localhost.

    Explanation from the Docker site:
    "Note: If you are using Docker Toolbox on Windows 7, use the Docker Machine IP instead of localhost. For example, http://192.168.99.100:4000/. To find the IP address, use the command docker-machine ip"

    My playtime is up today. I'll have to look at changing the config later. Ping me if you have any pointers for this. Cheers.

    rickr789
    @rickr789
    FYI: I solved my problem the quick an dirty way - a simple replace-all of "localhost" in the config files generated by les-node before calling docker-compose.
    Do we have an issue/feature request backlog? And is supporting custom IP addresses something we want to add to it?
    Robert Reppel
    @robertreppel
    Hi @rickr789 . Seen that before with Windows. It's basically running a docker-machine somewhere to get Docker to work. Wasn't thinking of supporting custom IP addresses as such; Accessing the Swagger UI, etc. on docker-machines instead of localhost should already be supported via local host port forwarding. (Also, I'm hoping that we'll have a more robust Kubernetes setup soon which would make the docker-compose solely for local development.)
    Would be great to get the Windows installation guide at https://github.com/Adaptech/les/blob/master/INSTALL.md updated with your findings!
    The issue tracker is at https://github.com/Adaptech/les/issues .
    Nicolas Dextraze
    @nicdex
    Version 0.10.6-alpha has been released: https://github.com/Adaptech/les/blob/master/CHANGELOG.md
    Robert Reppel
    @robertreppel
    Andreas Grimm
    @andreasgrimm
    Hi. First: Thanks, this looks like an amazing and very promising project. Sorry if missed this in the docs. If currently at all, how would you address "policies" / event listeners / the lilac stickies that say "when <some event>, if <some domain logic / precondition> then [<Command>, ...]"? I saw https://docs.letseventsource.org/tutorial/8_customeml/. Do you envision to at some point also support "event chains" when generating code?
    Robert Reppel
    @robertreppel
    Hi
    Hi @andreasgrimm . Thanks! Currently the idea is to treat that as our of scope and use hand-rolled process controllers for such things. That may change.
    Andreas Grimm
    @andreasgrimm
    @robertreppel thanks for letting me know. Are there any examples of hand-rolled process controllers on top of scaffolded code?
    Robert Reppel
    @robertreppel
    Take a look in the generated code @andreasgrimm, in the /src/controllers folder. In their auto-generated form they (optionally) query read models for data to be passed as parameters to a command, execute the command and then handle success and failure scenarios. A hand-rolled process controller would just add additional execution paths with other queries, commands and responses, etc. to that in order to handle more complex scenarios.
    This can include subscribing to events to make decisions based on them, compensating actions in case of (e.g.) command execution failures, etc.