Project documentation: The Use of NLP and DLT to Enable the Digitalization of Telecom Roaming Agreements
Table of Content for the project documentation:
- Publications that support the project
- Repository overview
- How to use the repository
- Design criteria
- Implementations criteria
- How to modify
The project is supported by two types of publications Medium Articles and Scientific Contributions.
The project has been documented through the following Medium articles:
- Blockchain-based digitization of the roaming agreement drafting process
- NLP Engine to detect variables, standard clauses, variations, and customized texts
- Chaincode design for managing the drafting of roaming agreements
- Chaincode implementation for managing the drafting of roaming agreements
- A Natural Language Processing Approach for the Digitalization of Roaming Agreements
- Sent to the Conference: ILCICT 2021 (Current status): Published
This section describes the set of folders include into the project repository.
The backend folder contains:
- The APIs integrated into the
backend. - The Postman queries to register the admin and user of a MNO.
Dockerfileto build the backend image.
The chaincode folder contains:
Implementation folderthat contain the Smart Contract created to manage the Roaming Agreement Drafting.Design folderthat contain the chaincode design created with the application tool App Diagrams Tool.
The frontend folder contains:
- Source code for the
frontendcreated in ReactJS. Dockerfileto build the frontend image.
The monitoring folder contains:
- Configuration files for
Grafana. - Configuration files for
Prometheus.
The nlp-engine folder contains:
- Source code for the
nlp-enginecreated inPython. Dockerfileto build the nlp-engine image.
The Documentation folder includes:
images folderwith a set of images included as part of the documentation.readme folderwith a set of readme files included as part of the documentation.swagger folderwith a json file for APIs documentation.
The network a set of subfolders to deploy each of the created services:
- Sub-folder
backendincludes the resources to deploy thebackendandSwaggercontainers. - Sub-folder
elkincludes the resources to deploy theelasticsearchcluster andkibana. - Sub-folder
elk-agentincludes the resources to deploy thefilebeatcontainer agents. - Sub-folder
frontendincludes the resources to deploy thefrontendcontainer. - Sub-folder
hfbincludes the resources to deploy thehfbnetwork. - Sub-folder
monitoringincludes the resources to deployGrafanaandKibanacontainers. - Sub-folder
nlp-engineincludes the resources to deploy thenlp-engine.
-
Please make sure that you have set up the environment for the project. Follow the steps listed in prerequisites.
-
To get started with the project, clone the git repository in the go folder:
$ export GOPATH=$HOME/go $ mkdir $GOPATH/src/github.com -p $ cd $GOPATH/src/github.com $ git clone https://github.com/sfl0r3nz05/NLP-DLT.git -
To use the NLP-Engine following this instructions
-
To deploy the HFB-Network following this instructions
-
To deploy the ELK-Infrastructure following this instructions
-
To deploy the Filebeat-Agent following this instructions
⭐ The Filebeat-Agent is based on the Linux Foundation Project: Blockchain Analyzer: Analyzing Hyperledger Fabric Ledger, Transactions
-
The Backend of the project is:
- To deploy the Backend following this instructions.
- To monitor the Backend following this instructions.
- The Backend has been documented through Swagger, which is deployed along with the Backend. Details of how to modify Swagger are provided in How to modify section,
| Demo NLP Part | Demo rest of project |
|---|---|
This part is under development ...
- Details of the
chaincodedesign here.
This part is under development ...
- Details of the
chaincodeimplementation here.
This part is under development ...
- To modify the
NLP-Enginefollowing this instructions.
- How to modify the
chaincode.
- To modify
swaggerdocumentation following this instructions.