Git Product home page Git Product logo

sircles's People

Contributors

andreaubbiali avatar sgotti avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sircles's Issues

Suggestion: Demo in Readme

It'd be handy to have a demo/preview of the UI in the in the Read Me for those of us who find sircles on mobile.

Path to real CQRS

This issue is to track changes needed to make sircles a real CQRS application.

The unique thing that we'll do differently is to handle all events and related generated commands and events in an unique transaction. For example: when a circle is deleted, an event handler will handle this event and create commands to every tension associated to that sircle to unset it. We'll handle all this in an unique transaction. The reason is dictated by the features required on the read side: since we provide a timeline based navigation, we want to provide a consistent view for every timeline. For doing this we have to group under an unique timeline all the related changes. So this is done only for the above reason, the command part will able to work and converge to a consistent state also without doing it in an unique transaction.

  • Remove the timeline "aggregate", it doesn't make any sense and the timeline concept can be managed only on the read side using the events correlationid.
  • Remove the commands aggregate, it doesn't make any sense. Just log the commands.
  • The aggregate implementation, if needed (for aggregates with many events like the rolestree), will use its own snapshot implementation instead of using the readdb.
  • The readdb will apply the events in a separate transaction.
  • The eventstore now is a fully serializable event store: it accepts one change at a time and fails the transactions having serializabale errors (this is a property enforce by the db using a serializable isolatioon level). This isn't a big problem given the write ratio but we can make it able to accept concurrent changes to different aggregates.

disable an user

@sgotti We want to disable the user when he doesn't work anymore in the company.
We have thought different ways:

-Creating a new column in the database with a check if he still works or not. Then in the query, when we request the member, we have to control if this column is checked or not.

-If there is already in the database a column with something that allows to know if he is working or not we can use it. For example if there is the contract expiration date we can compare it with the current date and disable users with the date lower than it.

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.