Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    eoliphan
    @eoliphan
    Ahh, ok so from my previous example, the gateway is your 'router'. I need to tell it which commands it handles for which aggregate (JS needs annotations lol) So.. As I mentioned I'm kinda gradually baking this in. So once I've my events, commands, aggregate and router configured, I invoke a 'handle' or something on an instance of the router?
    Ok I guess I should have looked at your pic first lol. So the 'api' fronts the router.. I'll check that out
    But I think I understand better now. Have you guys considered any auto-wiring type stuff. As I mentioned the Axon framework uses Java annotations. I've done some small stuff with node-cqrs, they use naming conventions and the directory structure. Not sure how to do something similar in Meteor
    Darko Mijić
    @darko-mijic
    Rhys Bartels-Waller
    @rhyslbw
    Hey @eoliphan great to see you're checking out the Space ES tools :smile: we coordinate development and provide further assistance where possible in a Slack room, so pm me an email address if you're wanting to take this further. We're 100% committed to providing a solid set of tools for implementing ES/CQRS/DDD in Meteor, and have a growing list of contributors and applications being developed. Would be very helpful to have your input
    eoliphan
    @eoliphan
    @rhyslbw i'd love to. Hey how do I PM you?
    Rhys Bartels-Waller
    @rhyslbw
    @eoliphan click on a profile picture, choose Chat Privately
    fxv
    @fxv
    Hi,
    I see that the space:testing package has a dependency practicalmeteor:munit and reading the Space docs, it says Space currently only supports testing of package code and recommends this approach.
    I want to start exploring Space for a new project and I'm wondering how to use Meteor 1.3 with Space and testing. I'm just getting started exploring possible options, but if you can share any insights I'd really appreciate it.
    Dominik Guzei
    @DominikGuzei

    Hey @fxv, you can use space:testing with Meteor 1.3 in the same way as with package testing ;)
    Please checkout the tests written for the Donations application to get a feeling for it: https://github.com/meteor-space/donations/tree/develop/packages/domain/tests (these are package-tests but it works the same way)

    So just include

    space:testing
    space:testing-messaging
    space:testing-event-sourcing

    in your .meteor/packages file and start testing your event-sourced domain logic in *.app-test-jsfiles

    fxv
    @fxv
    @DominikGuzei thank you and to all the space team. Diving right in.
    Dominik Guzei
    @DominikGuzei
    You're welcome @fxv, feel free to ask more questions anytime.
    Pugio
    @Pugio
    Hello, I'm trying to figure out if the meteor-space projects are still active/maintained. I see that a lot of the latest commits were in March and I'd like to ensure that the project is still updating (e.g. compatibility and integration with latest versions of meteor) before I start using it in a new project.
    Rhys Bartels-Waller
    @rhyslbw
    Hi @Pugio ! Yes Space is active, the core libs are just stable and we’ve been waiting for the dust to settle on the latest changes before planning our next dev cycle. We’re using it with 1.3x, and will likely be moving to exporting ES6 modules over the global Space namespace. Which packages are you interested in using? Also if you send me a DM here I can invite you to our Slack which is where the core team is most days and are always happy to help out
    *instead of relying on the single Space global
    Pugio
    @Pugio
    Got it. I was looking into using event sourcing on my next app – I'd like a full history of everything, and the notion of making time a first class entity in my domain appeals to me.
    I'll send you a DM as soon as I start work on the project, which should be soon – right now is tech research phase.
    Thank you
    Rhys Bartels-Waller
    @rhyslbw
    Perfect, no worries. ES is critical for our own projects so it’s getting the most attention
    events as state is a huge win
    Pugio
    @Pugio
    agree completely. Glad to know it's alive and well.
    Rhys Bartels-Waller
    @rhyslbw
    @darko-mijic is working on a projection rebuilding example, currently the work is in the feature/ui branch: https://github.com/meteor-space/projection-rebuilding-example/tree/feature/ui/source/imports/ui
    This will show a modern implementation
    Jeff Harris
    @tunurgitr
    I think I read somewhere that some of the stuff is changing from coffeescript to ES6 -- any updates/status on that?
    (I'm new to this library and meteor in general, but I've done some DDD/CQRS/ES w/ C#)
    Rhys Bartels-Waller
    @rhyslbw
    Hi @tunurgitr Sorry for the late reply. Shoot me your email in a private message here and I’ll add you to the Slack room. This is where we hang out
    There’s no requirement to use CS when implementation Space libs. If the issue is importing specific modules then Meteor 1.4.2 (thanks @darko-mijic for the heads up) updates the CS package to include ES2015 module support so we are now free to refactor the package exports to be more modular
    Jeff Harris
    @tunurgitr
    gotcha, thanks
    Adam Dawkins
    @adamdawkins
    Reading about CQRS for Meteor here, I couldn't help but think of Apollo and GraphQL in particular, with queries and mutations for read / write actions respectively, it migth be a natural fit, and also lend itself nicely to early modelling, seeing as you can model value objects quite easily there?
    Basheer A Radman
    @ba2015sheer_twitter
    Domain Driven design for space applications
    Dominik Guzei
    @DominikGuzei
    @adamdawkins yeah it's definitely an interesting combination! You can use CQRS with any setup as it just means separating the logic for reading / writing. GraphQL is definitely an interesting approach for the read side. As i haven't tried it yet, im not sure about the write side though … usually you try to avoid direct mutations in domain driven design (write side). But i guess instead of applying modifications you could save events instead, which can then be processed to generate the read model in the database.