Skip to content

Latest commit

 

History

History
120 lines (87 loc) · 7.45 KB

README.md

File metadata and controls

120 lines (87 loc) · 7.45 KB

D I S C I P L

This repository contains common resources and documentation shared by all projects in the Discipl Software Stack.

Discipl information

Discipl Components

Discipl Core Build Status

Discipl Core provides an interface to connect to different platforms that manage identities and claims.

Sample usage:

Discipl Core Ephemeral Connector Build Status

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).

Discipl Core Base Connector Build Status

The Core Base Connector can be used to implement a connector to your platform of choice.

Discipl Abundance Service Build Status

The Abundance Service helps implementation of software systems that express needs and fulfill them.

Discipl Paper Wallet Build Status

The Paper Wallet helps convert claims to a qr-format for presentation.

Discipl Law Reg Build Status

The Law Reg(ulation) library provides validation and execution options for FLINT models. FLINT is a (formal) language to interpret laws and regulation.

Discipl Projects

Waardepapieren Build Status

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 Build Status

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

Tools and Techniques the projects are using

  • 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.