Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Rob Landers
    @withinboredom
    It will probably be through Azure ServiceBus, since they give you free money for Azure through bizspark.
    Still have a long way to go before I get that far.
    Rhys Bartels-Waller
    @rhyslbw
    What about the apps though, all Meteor?
    Rob Landers
    @withinboredom
    The core will be, but there are other microservices which are not.
    Rhys Bartels-Waller
    @rhyslbw
    Are you using space-cqrs?
    Rob Landers
    @withinboredom
    yeah, It's some bank automation software, so I'll be receiving and sending events to workers that are running casperjs and other node based software
    Rob Landers
    @withinboredom
    Rhys Bartels-Waller
    @rhyslbw

    The project @DominikGuzei and I are working on uses meteor apps and a node microservice too. The meteor-space apps are inpendant but have integration points, which is why we feel it would be a natural fit for space-messaging to provide a lightweight distributed solution.

    We’re using https://github.com/vsivsi/meteor-job-collection as it’s much more powerful and is built to suit to exact purpose of running node workers. I did look at meteor-workers when doing reasearch a while back, but I heard Ry Walker of Differential discuss the project on a podcast, and he mentioned it was practically abandoned. Job Collection on the other hand is one of the most solid projects on the other hand, being actively developed, well maintained documentation, a comprehensive test suite, and support from the author.

    Rob Landers
    @withinboredom
    Thanks for that, would have never known it was abandoned!
    Is there any documentation for space-messaging? Like what features it has?
    I'd love to help with documenting various components, would help me learn it and benefit everyone.
    Rhys Bartels-Waller
    @rhyslbw
    Documentation is a bit thin, but test coverage not, so that’s the best way to understand it right now
    But yes documentation is the biggest limiting factor for attracting new people to the project IMO
    We discussed the best way is to focus documentation here: https://github.com/CodeAdventure/meteor-space/blob/master/README.md, then link out to more detailed docs for the sub-projects
    Rhys Bartels-Waller
    @rhyslbw
    …and as you can see there’s no content on messaging there yet
    Rhys Bartels-Waller
    @rhyslbw
    the functionality was actually first part of the cqrs package, but since it’s not specific to that and is used by space-ui, was broken out. This seems to indicate why it wasn’t included in the main docs, but is very much a natural fit with the other intro content
    Rob Landers
    @withinboredom
    May be helpful to use the full stack in a "todo" app or something.
    Rob Landers
    @withinboredom
    best quote ever: If you don't use some structure, you will end up throwing your laptop against the wall. btw
    Rhys Bartels-Waller
    @rhyslbw
    yes haha, been there
    The example is a but out of date with current thinking though. It still uses mediators whereas we’re now using Blaze Components instead
    The Todo app is also not complex enough to demonstrate the cqrs package capabilities, so we really need to put togethe an example from a more complex domain
    Rhys Bartels-Waller
    @rhyslbw
    That example could include the distributed messaging capabilities
    Rhys Bartels-Waller
    @rhyslbw
    To clarifty the example I posted, in a CQRS app you would want to be passing a command to the commandBus instead of updating the collection here. The command is constructed on the client and passed as a serialsed, type-checked object. A handler in the domain layer handles the command, loading up the aggregate, and calling it’s method.
    # Somewhere on client
    Space.messaging.Api.call MyCommand
    class @MyApi extends Space.messaging.Api
    
    @method MyCommand, (context, command) ->
        @commandBus.send command
    class @MyAggregateHandler extends Space.messaging.Controller
    
      Dependencies:
        repository: ‘Space.cqrs.Repository’
    ...
      @handle MyCommand, (command) ->
        aggregate = @repository.find MyAggregate, command.aggregateId
        aggregate.doSomething(command)
        @repository.save aggregate
    Dominik Guzei
    @DominikGuzei
    Hey @withinboredom, welcome – sorry for the silence, was hooked up with a lot of different work lately ;-)
    space-messaging is very badly documented at the moment, but i will be putting something together asap! For starters you can also take a look at two of my blog posts that cover a bit of the ground and philosophy behind the whole space framework:
    Dominik Guzei
    @DominikGuzei
    Hey everyone, we move our private discussion about space/orionjs integration here because we figured that space-cqrsis not a good fit for the ORM based orionjs solution anyway. But we sparked the idea of building a good example application that shows the concepts and benefits of DDD / CQRS with space-cqrs
    Also we discussed the value of "general" purpose space modules (like orders and payments) that could be dropped into your application and configured. This would provide great examples of how to model a self-contained bounded context and possibly draw more attention to space (get more devs on board).
    Dominik Guzei
    @DominikGuzei
    I setup the basic structure for an example shop app that could showcase how to configure and use the ordersand paymentsBCs: https://github.com/SpaceJs/cqrs-shop-example
    Dominik Guzei
    @DominikGuzei
    And i will also sponsor some of the value objects that i modeled in my Prisma application. I think a general purpose, configurable value object repository would be really amazing for the community. Since package.js is programmable in Meteor we can use environment vars to include only those value objects that are needed by modules / apps.
    Dominik Guzei
    @DominikGuzei
    I started the value objects repository project here: https://github.com/SpaceJs/value-objects
    I really like the approach of configurable file inclusions! Works like charm with Meteor :-)
    Timothy
    @timfam
    Awesomeness!
    Timothy
    @timfam
    Long holiday weekend here :).
    Dominik Guzei
    @DominikGuzei
    Hehe, no worries – I will work over the weekend and start setting up all the things. Really looking forward to your feedback(s) and to see this project taking shape :-)
    Timothy
    @timfam
    Me too
    Ryan Watts
    @rwatts3
    Hey gentleman. Yes I too am enjoying these 3 days off phew !!
    Dominik Guzei
    @DominikGuzei
    Hey @rwatts3, and that's exactly what you should do :-)
    What are you working on currently?
    Ryan Watts
    @rwatts3
    Haha. I'm finishing up a client call on a cold fusion system.
    Dominik Guzei
    @DominikGuzei
    hehe, good old legacy :-D
    Ryan Watts
    @rwatts3
    Yep, sometimes it's bitter sweet
    Dominik Guzei
    @DominikGuzei
    But it is CQRS related?
    Ryan Watts
    @rwatts3
    yes and no
    Rhys Bartels-Waller
    @rhyslbw
    Good to see some new devs in here, welcome!