ianmorgan / graph-store

Provides a simple document style persistence API with event sourcing & GraphQL support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

graph-store

Travis CI License

Setup DDD style aggregates from a GraphQL schema. Store aggregate state to an event-store using REST, and query using both GraphQL and traditional REST. More advanced applications can use CQRS principle to build custom data integrations and views by simply reducing the underlying event stream.

  • data is stored using an event sourcing model in an 'event-store'.
  • a GraphQL API is provided for querying
  • Schema information can be attached to drive GraphQL API and to provide some level of validation when saving data.
  • external "read-only" resources can be attached to GraphQL queries
  • like most document style stores, the ability to store both complete documents and partial updates is supported.
  • by keeping to simple, generic events this is deliberately aimed at problem domains where an aggregate can simply be modelled as a document. The architectural benefits of event sourcing are retained, for example another system could observe the events, but there is no attempt to define state as a set of explicit domain events (AccountCreated, AccountApproved etc).

For more details try the docs and also Trello

About

Provides a simple document style persistence API with event sourcing & GraphQL support

License:MIT License


Languages

Language:Kotlin 77.5%Language:Java 13.4%Language:HTML 8.5%Language:Dockerfile 0.5%Language:Shell 0.1%