This repository contains common resources and documentation shared by all projects in the Discipl Software Stack.
Discipl Core provides an interface to connect to different platforms that manage identities and claims.
Sample usage:
- Creating an identity
- Storing and retrieving a claim
- Verifying an attestation
- Listening for claims being published by an identity
- Managing access
The Ephemeral Connector provides temporary storage of identities and claims. This can be done using a local memory storage or a remote storage, and elliptic curve cryptography or RSA (based on x509 certificates).
The Core Base Connector can be used to implement a connector to your platform of choice.
The Abundance Service helps implementation of software systems that express needs and fulfill them.
- Example scenario
- Attending to needs in Waardepapieren Project
- Expressing needs in Waardepapieren Project
The Paper Wallet helps convert claims to a qr-format for presentation.
The Law Reg(ulation) library provides validation and execution options for FLINT models. FLINT is a (formal) language to interpret laws and regulation.
The Waardepapieren project showcases how the abundance service and core Discipl components can be used by a municipality to provide attestations that are backwards compatible with current processes.
Compliance by Design showcases how FLINT models produced using the Calculemus method can be explored. A way to create these models is using Visual Studio Code with the FLINT editor plugin
- Node.js
Node.js is used as the run-time environment to execute this program written in JavaScript. It also comes with a built-in support for package management using NPM. Discipl publishes her libraries in NPM.
- ES6 JavaScript
ES6 stands for EcmaScript 6 and is a version of Javascript
- Travis CI
Travis CI is a hosted continuous integration service used to build and test software projects hosted at GitHub.
- Babel
Babel is used to transpile the ES6 to get compatible JavaScript
- Mocha - Chai - SinonJS
Sinon allows the use of spies, stubs and mocks within the tests. Chai will make the coding of the test feel like writing english. To use Chai and Sinon, Mocha is needed as the test framework running on Node.JS
- Istanbul code coverage
All-javascript instrumentation library that tracks statement, branch, and function coverage and reverse-engineers line coverage with 100% fidelity.
- Standard JS lint
Automatically formats the code and catches style issues and programmer errors early.
- LogLevel
Minimal lightweight simple logging for JavaScript. loglevel replaces console.log() and friends with level-based logging and filtering, with none of console's downsides.