This application enables to get evolution insights of a microservices architecture from a data perspective.
Here is a summary of the features currently supported.
It transforms a static analysis report logic object into a treemap view object.
Transformation | Implementation status |
---|---|
Technologies list | π |
Operations list | π |
Concepts list | π |
INPUT
Invoke the following routes by sending a static analysis report in JSON (obtained from DENIM Reverse Engineering) inside the request.
Routes:
- POST /technologies for retrieving the list of technologies used in the microservices architecture.
- POST /operations for retrieving the list of operations used in the microservices architecture.
- POST /concepts for retrieving the list of data concepts used in the microservices architecture.
OUTPUT
Consult the response view object in JSON:
// Technologies
["javascript-api-express-call", "javascript-db-mongo-call", "javascript-db-redis-call"]
// Operations
['READ']
// Concepts
['concept1' 'concept2', ...]
See INSTALL file.
Manual test suites are set up thanks through the Postman tool.
The tests are specified in the /test/manual
directory and are named following the *.test.js
pattern.
Unit test suites are set up thanks to the Jest framework.
The tests are specified in the /test/unit
directory and are named following the *.test.js
pattern.
The configuration of Jest is stated in the /package.json
file.
The tests running computes the code coverage.
-
Launch the unit tests.
npm run test_unit
Integration test suites are set up thanks to the SuperTest framework.
The tests are specified in the /test/integration
directory and are named following the *.test.js
pattern.
The configuration of Jest is stated in the /package.json
file.
- Launch the application on Docker (cf. Dockerize the application).
-
Launching integration tests.
npm run test_integration
An autogenerated documentation is available thanks to SwaggerUI at http://localhost:3000/docs.
-
Generate the documentation.
npm run swagger
A CI/CD process is set up thanks to GitLab CI/CD. Learn more about GitLab CI/CD via this page.
This one is described in the .gitlab-ci.yml
.
-
Lint the application.
npm run lint
-
Formatting the application.
npm run format
- JavaScript
- Docker
- expressjs is a backend NodeJS framework.
- body-parser is used for parsing REST API request body.
- cors is used for managing CORS.
- swagger-autogen is used for SWAGGER documentation.
- swagger-ui-express is used UI SWAGGER documentation.
- npm is the package manager used.
- GitLab CI/CD is the CI/CD continuous tool used.
- Docker Desktop is the containerization technology used.
- Postman is the tool for testing manually the API.
If you want to contribute to the project, please consider the following instructions:
- Any contribution must be tested (unit and integration tests).
- All the tests and the CI/CD pipeline must pass before definitively integrating the contribution.
- Any contribution must be documented, especially by updating the
README.md
and theINSTALL.md
file. - Any contribution must be approved via the pull request mechanism.
- More generally, any contribution must follow the conventions and keep the shape of previous contributions.