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:
- 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
A web app using this module for persistence is being built at https://github.com/actuarial-sciences-for-africa-asa/BitemporalReactive.jl
Click the button below to start a new development environment:
Get Started With Your Own Project
A new project
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.