Testing on Juliahub fails as PkgEval is not applicable because tests require a running POSTGRES server.
For use cases see a jupyter notebook with tests
BitemporalPostgres provides an API for application based bitemporal, that is: audit proof, transactions with Julia and Postgres DB. Transactions are "long", with persistent transaction data that is, so they can serve as a basis of workflow management: they can be suspended, resumed and delegated.
A bitemporal data manager creates or mutates bitemporal entities as of a point in reference time. A bitemporal transaction - here also called workflow - is started in two ways:
create_entity creates
- an instance of history - the root of bitemporal entities -
- a version
- a validity_interval
update entity creates
- a version
- a valididity_interval and references
- a given history
while these data comprise the scaffolding needed for bitemporal tracking of mutations, components and revisions comprise the business payload, as well as subcomponents and their revisions.
thus mutation of Business data consists of -creation or invalidation of components/subcomponents together with their revisions and of
- updates of attributes of revisions
To generate documentation in the development environment
- exec makedocs.jl in Julia REPL
- View generated docs using the link for 8080 under the ports tab
A web app using this module for persistence is being built at https://github.com/Actuarial-Sciences-for-Africa-ASA/GenieBuiltLifeProto.jl
Click the button below to start a new development environment:
The gitpod workspace uses a Docker a public image: michaelfliegner/gitpodpgijulia
The Dockerfile for this image resides here
On startup vscode will open this jupyter notebook:
Click the above "Open in Gitpod" button to start a new workspace. Once you're ready to push your first code changes, Gitpod will guide you to fork this project so you own it.