Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ladesa-ro/api

Web API Integrada – REST + GraphQL
https://github.com/ladesa-ro/api

api api-client graphql ladesa openapi rest sisgea sisgha

Last synced: about 1 month ago
JSON representation

Web API Integrada – REST + GraphQL

Awesome Lists containing this project

README

        

# Web API Integrada

[![CI/CD - Release][action-release-src]][action-release-href]
[![CI/CD - Generate Integrations][action-generate-integrations-src]][action-generate-integrations-href]

## Ambientes

Instância Pública de Desenvolvimento: .

## Integrações

### Cliente JavaScript

[![NPM Package: @ladesa-ro/api-client-fetch latest version][npm-package-latest-version-src]][npm-package-versions-href]

```sh
npm install @ladesa-ro/api-client-fetch@latest
```

## Desenvolvimento

### Obter o código fonte do projeto

```bash
git clone https://github.com/ladesa-ro/api.git
cd api
```

### Estrutura de Pastas

[`./api-service`](./api-service/)

```bash
cd api-service
```

> A pasta API service contém o código fonte do Serviço de API, que utiliza o framework NestJS no NodeJS.

### Serviços do [docker-compose.yml](./docker-compose.yml)

| Host | Endereço | Descrição | Plataforma Base |
| --------------- | ---------------- | ------------------------ | --------------------------------- |
| `ladesa-api` | `localhost:3701` | Aplicação NodeJS. | `docker.io/library/node:22` |
| `ladesa-api-db` | `localhost:5432` | Banco de dados postgres. | `docker.io/bitnami/postgresql:15` |

### Scripts Make

O projeto conta com um [arquivo make](./Makefile) que comporta scrips destinados ao desenvolvimento da aplicação.

Visão geral dos scripts make

- `setup`

```sh
make setup;
```

> Configura o ambiente de deselvolvimento, como a criação da rede ladesa-net e os arquivos .env.

- `up`

```sh
make up;
```

> Inicia os containers da api e do banco de dados usando o docker.

- `shell`

```sh
make shell;
```

> Inicia os containers docker e abre o bash na aplicação node.

- Após este processo, talvez você queira executar dentro do shell do container:

```sh
pnpm run start:dev;
```

- `down`

```sh
make down;
```

> Encerra todos os containers.

- `cleanup`

```sh
make cleanup;
```

> Encerra todos os containers e remove os containers e volumes associados.

- `logs`

```sh
make logs;
```

> Mostra os registros dos containers

## Licença

[MIT](./LICENSE) © 2024 – presente, Ladesa.

[action-release-src]: https://img.shields.io/github/actions/workflow/status/ladesa-ro/api/release.yml?style=flat&logo=github&logoColor=white&label=Release&branch=development&labelColor=18181B
[action-release-href]: https://github.com/ladesa-ro/api/actions/workflows/release.yml?query=branch%3Adevelopment

[action-generate-integrations-src]: https://img.shields.io/github/actions/workflow/status/ladesa-ro/api/ci-generate-integrations.yml?style=flat&logo=github&logoColor=white&label=Generate%20Integrations&branch=development&labelColor=18181B
[action-generate-integrations-href]: https://github.com/ladesa-ro/api/actions/workflows/ci-generate-integrations.yml?query=branch%3Adevelopment

[npm-package-versions-href]: https://www.npmjs.com/package/@ladesa-ro/api-client-fetch?activeTab=versions

[npm-package-latest-version-src]: https://img.shields.io/badge/dynamic/json?url=https://registry.npmjs.com/@ladesa-ro/api-client-fetch&query=$[%22dist-tags%22].latest&prefix=v&style=flat&logo=npm&logoColor=white&label=@latest&labelColor=%23CB3837&style=flat&colorA=18181B&colorB=ffffff