# NomadFy SDK for Node.js

![sdk-static-analysis](https://github.com/lwglg/nomadfy-sdk/actions/workflows/code-analysis.yml/badge.svg)

Software Development Kit (SDK), written in TypeScript, in order to perform integrations between various existing payment gateways and Node.js based web services.

## Preliminaries

### Project dependencies

This project was implemented using the following tools:

- [Node Version Manager - `nvm`](https://github.com/nvm-sh/nvm#installing-and-updating): v2.2.13 or higher. Recommended manager for installing Node.js at the right version and the project dependencies;
  - [Node.js](https://nodejs.org/dist/v20.11.1/node-v20.11.1.tar.gz): LTS version (v22.13.0^) or higher;
  - [Node Package Manager - `npm`](https://www.npmjs.com/): v11.0.0 or higher.
  - [Yarn Package Manager - `yarn`](https://yarnpkg.com/getting-started): v1.22.21 or higher.

## Basic structure

### Pronttus SDK 

Integration with the Pronttus payment gateway, based on the API [documentation](https://pronttus.readme.io/reference/introdu%C3%A7%C3%A3o).

<details>
  <summary>Code base structure:</summary>

![graph-service-pronttus](/docs/img/svg/graph-service-pronttus.svg)
</details>


### Voluti SDK [WiP]

Integration with the Voluti payment gateway, based on the API [documentation](https://voluti.readme.io/reference/getting-started-with-your-api).

<details>
  <summary>Code base structure:</summary>

![graph-service-voluti](/docs/img/svg/graph-services-voluti.svg)
</details>

### Security SDK 

For purposes of implementing autentication and/or authorization use cases oo Node.js based web services.

#### AWS Secret Manager service 

<details>
  <summary>Code base structure:</summary>
  
![graph-service-security-aws](/docs/img/svg/graph-services-security-aws.svg)
</details>

#### JSON Web Token (JWT) service

<details>
  <summary>Code base structure:</summary>
  
![graph-service-security-jwt](/docs/img/svg/graph-services-security-jwt.svg)
</details>
