JSPM

@getanthill/datastore

0.27.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 208
  • Score
    100M100P100Q107569F
  • License MIT

Event-Sourced Datastore

Package Exports

  • @getanthill/datastore
  • @getanthill/datastore/dist/sdk/Datastore.js
  • @getanthill/datastore/dist/sdk/aggregator/Aggregator.js
  • @getanthill/datastore/dist/sdk/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@getanthill/datastore) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

getanthill Datastore

pipeline Quality Gate Status

Coverage Security Rating Reliability Rating

Purpose

The purpose of this project is to offer a system enabling easily all the power of Event-Source systems. This project is strongly opiniated regarding the implementation of this pattern and will gives you the opportunity to start working with Event-Source models.

But read the doc instead

Full Documentation

https://getanthill.gitlab.io/datastore

Main Features

Manage all your Data in an Event-Source manner

Manage every single entity of your Data as a simple Event-Source entity. Track atomic updates. Restores entities at a given version. Timetravel to know what was the exact state of an entity on a given date...

Contractualize 100% of your Data Model

Every Data in the Datastore is contractualized thanks to the json-schema [^1] standard. This standard is allowing you to access a strict documentation in your RESTful API with OpenAPI 3.0 (ex-Swagger) [^2] or in your streamed events.

Use streams to process your Data in realtime

Stream your data with ease thanks to the stream entrypoint of the Datastore's API. You can use it to deploy workers easily with automatic reconnection, pattern matching and logging.

Access an explicit and compliant JSON Schema / OpenAPI 3.0 documentation of your Data

100% of the Data handled by the Datastore is available through an compliant OpenAPI 3.0 [^2] specification. You can add as many event or business rule you need in your system and make it available to everyone.

:::tip OpenAPI renderers

:::

Encrypt fields in your Data with ease

Encrypt fields of your Data to make it inaccessible by users having access to your database. You can perform multiple keys encryption, keys rotation, on-demand document encryptionm etc.

Manage access roles between READ, DECRYPT, WRITE and ADMIN

Access to the Data is controlled with 4 different levels.

  • READ tokens can only read Data, potentially encrypted Data.
  • DECRYPT tokens can read Data clearly
  • WRITE tokens can write Data in the Datastore
  • ADMIN tokens can create new models and indexes

Perform smart aggregations to chain projections between your

Datastores

In addition of the sdk available to communicate with the Datastore API easily, an aggregation pipeline is made availabe to perform complex aggregations between different instances of the Datastore to handle projections, trigger specific branches of a business logic or keep track of some events.