Here we discuss the software components developed for the openIDL system.
User Interface Components
openIDL Common Lib
folder: openidl-common-lib
This is a common component used by other components.
Dependencies
@openidl-org/openidl-common-lib@0.5.8
├── @cloudant/cloudant@4.2.1
├── @ibm-functions/iam-token-manager@1.0.5
├── @sendgrid/mail@7.4.5
├── fabric-ca-client@2.2.9
├── fabric-network@2.2.9
├── ibmcloud-appid@6.1.1
├── log4js@4.3.2
├── mongodb@3.7.2
├── node-vault@0.9.22
├── passport@0.4.1
├── passport-cognito@0.2.2
├── request-promise@4.2.6
└── safe-eval@0.4.1
openIDL Data Call App
folder: openidl-data-call-app
This component serves as the api for the data call ui.
Dependencies
app@1.0.1
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.7
├── body-parser@1.19.0
├── config@2.0.2
├── cookie-parser@1.4.5
├── cors@2.8.5
├── express@4.17.1
├── express-session@1.17.2
├── helmet@3.21.2
├── http-errors@1.6.3
├── js-yaml@3.14.1
├── lodash@4.17.21
├── log4js@4.5.1
├── moment@2.29.1
├── node-fetch@2.6.5
├── swagger-ui-express@3.0.10
└── uuid@3.4.0
openIDL Data Call Mood Listener
folder: openidl-data-call-mood-listener
This component listens for events on the ledger.
Dependencies
openidl-data-call-mood-listener@1.0.1
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.5
├── config@2.0.2
├── express@4.16.4
├── log4js@4.5.1
├── sinon@7.5.0
└── uuid@3.4.0
openIDL Data Call Processor
folder: openidl-data-call-processor
This component listens for the consent event and runs the extraction pattern.
Dependencies
openidl-data-call-processor@1.0.1
├── @cloudant/cloudant@3.0.2
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.6
├── aws-sdk@2.474.0
├── config@2.0.2
├── cron@1.8.2
├── express@4.16.4
├── log4js@4.5.1
├── moment@2.29.1
├── mongodb@3.6.11
├── object-sizeof@1.6.1
├── sleep@6.3.0
└── uuid@3.4.0
openIDL Data Call Processor
folder: openidl-data-call-processor
This component listens for the consent event and runs the extraction pattern.
Dependencies
openidl-data-call-processor@1.0.1
├── @cloudant/cloudant@3.0.2
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.6
├── aws-sdk@2.474.0
├── config@2.0.2
├── cron@1.8.2
├── express@4.16.4
├── log4js@4.5.1
├── moment@2.29.1
├── mongodb@3.6.11
├── object-sizeof@1.6.1
├── sleep@6.3.0
└── uuid@3.4.0
openIDL Insurance Data Manager
folder: openidl-insurance-data-manager
This component provides an API to load data into the Harmonized Data Store.
Dependencies
app@1.0.1
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.6
├── body-parser@1.19.0
├── config@2.0.2
├── cookie-parser@1.4.5
├── cors@2.8.5
├── crypto@1.0.1
├── express@4.16.4
├── express-session@1.17.2
├── helmet@3.21.2
├── http-errors@1.6.3
├── js-yaml@3.14.1
├── log4js@4.5.1
├── node-fetch@2.6.1
├── sort-json-array@0.1.7
├── swagger-ui-express@3.0.10
└── uuid@3.4.0
openIDL Transactional Data Event Listener
folder: openidl-transactional-data-event-listener
This component listens for data arriving on the analytics node and starts the reporting process.
Dependencies
transactional-data-event-listener@1.0.1
├── @cloudant/cloudant@3.0.2
├── @openidl-org/openidl-common-lib@0.5.8
├── @sendgrid/mail@7.4.6
├── aws-sdk@2.474.0
├── config@2.0.2
├── express@4.16.4
├── log4js@4.5.1
├── mongodb@3.6.11
└── object-sizeof@1.4.0
openIDL User Interface
folder: openidl-ui-workspace
This component holds all the UI components for openIDL in an angular workspace.
The dependencies are shared across all projects which are in the projects subfolder.
Dependencies
openidl-ui-workspace@0.0.0
├── @angular/animations@12.1.5
├── @angular/cdk@12.1.4
├── @angular/common@12.1.5
├── @angular/compiler@12.1.5
├── @angular/core@12.1.5
├── @angular/forms@12.1.5
├── @angular/material@12.1.4
├── @angular/platform-browser@12.1.5
├── @angular/platform-browser-dynamic@12.1.5
├── @angular/router@12.1.5
├── @openidl-org/openidl-common-lib@0.5.8
├── config@3.3.6
├── cookie-parser@1.4.5
├── cors@2.8.5
├── express@4.17.1
├── express-session@1.17.2
├── helmet@3.23.3
├── ibmcloud-appid@6.1.1
├── log4js@4.5.1
├── moment@2.29.1
├── nconf@0.11.3
├── ngx-csv@0.3.2
├── nocache@2.1.0
├── node-fetch@2.6.1
├── passport@0.4.1
├── request-promise@4.2.6
├── rxjs@6.6.7
├── tslib@2.3.1
└── zone.js@0.11.4
openIDL UI
folder: openidl-ui-workspace/projects/openidl-ui
This component provides access to the system for the AAIS and Analytics nodes.
openIDL Carrier UI
folder: openidl-ui-workspace/projects/openidl-carrier-ui
This component provides access to the system for the Carrier nodes.
openIDL Common UI
folder: openidl-ui-workspace/projects/openidl-common-ui
This component provides common code for the UI components.
Dependencies
Dependency | Description | Discussion |
---|---|---|
@angular | UI Framework | |
@cloudant | This is the official Cloudant library for Node.js. | This library is now deprecated and will be end-of-life on Dec 31 2021. |
@sendgrid/mail | Twilio SendGrid NodeJS mail service | Can be removed |
aws-sdk | AWS SDK for JavaScript | |
body-parser | Node.js body parsing middleware. | |
config | Configuration control for production node deployments | |
cookie-parser | Parse Cookie header and populate req.cookies with an object keyed by the cookie names. Optionally you may enable signed cookie support by passing a secret string, which assigns req.secret so it may be used by other middleware. | |
cors | Node.js CORS middleware | |
cron | cron for node.js | |
crypto | Deprecated! This package is no longer supported and has been deprecated. To avoid malicious use, npm is hanging on to the package name. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in. | |
express | Fast, unopinionated, minimalist web framework | |
express-session | Simple session middleware for Express | |
helmet | Helmet helps you secure your Express apps by setting various HTTP headers. It's not a silver bullet, but it can help! | |
http-errors | Create HTTP errors for Express, Koa, Connect, etc. with ease. | |
ibmcloud-appid | Node.js SDK for the IBM Cloud App ID service | |
js-yaml | YAML 1.2 parser and serializer | |
lodash | The Lodash library exported as Node.js modules. Lodash is A modern JavaScript utility library delivering modularity, performance & extras. | |
log4js | This is a conversion of the log4js framework to work with node. | |
moment | A JavaScript date library for parsing, validating, manipulating, and formatting dates. | |
mongodb | The official MongoDB driver for Node.js. | |
nconf | Hierarchical node.js configuration with files, environment variables, command-line arguments, and atomic object merging. | |
ngx-xac | Helper library for create CSV file in Angular2+ | |
nocache | This Express middleware sets some HTTP response headers to try to disable client-side caching. | |
node-fetch | Instead of implementing XMLHttpRequest in Node.js to run browser-specific Fetch polyfill, why not go from native http to fetch API directly? Hence, node-fetch, minimal code for a window.fetch compatible API on Node.js runtime. | |
object-sizeof | Get size of a JavaScript object in Bytes | |
passport | Passport is Express-compatible authentication middleware for Node.js. | |
request-promise | The simplified HTTP request client 'request' with Promise support. Powered by Bluebird. | Deprecated! We need to replace this. |
rxjs | Reactive Extensions Library for JavaScript. | |
sleep | Add sleep(), msleep() and usleep() to Node.js, via a C++ binding. | |
sort-json-array | Sort an array of JSON objects by a property | |
swagger-ui-express | This module allows you to serve auto-generated swagger-ui generated API docs from express, based on a swagger.json file. The result is living documentation for your API hosted from your API server via a route. | |
tslib | Runtime library for TypeScript helper functions | |
uuid | For the creation of RFC4122 UUIDs | |
zone.js | Implements Zones for JavaScript, inspired by Dart. |