Skip to content

RJ-SMTR/api-cct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API CCT

github action status

Descrição

API do aplicativo CCT
(Centro de Compensação Tarifária)

Documentação completa

Este projeto foi baseado no template Nestjs Boilerplate

O Projeto do App CCT consome esta API.

Table of Contents

Executar rapidamente

git clone --depth 1 .git my-app
cd my-app/
cp env-example .env
docker compose up -d

Para verificar status:

docker compose logs

Desenvolvimento confortável

git clone --depth 1 .git my-app
cd my-app/
cp env-example .env

Mude DATABASE_HOST=postgres para DATABASE_HOST=localhost

Mude MAIL_HOST=maildev para MAIL_HOST=localhost

Executar contêiner adicional:

docker compose up -d postgres adminer maildev sftp

Login no adminer (login de exemplo):

  • Sistema: PostgreSQL
  • Servidor: postgres
  • Usuário: root
  • Senha: secret
  • Base de dados: api

Configurar projeto:

npm install

npm run migration:run

npm run seed:run

npm run start:dev

Rodar seed caso o banco não esteja vazio:

npm run seed:run -- --force

Rodar seed apenas de alguns módulos

npm run seed:run user mailhistory

O comando não diferencia maiúsculas de minúsculas

Rodar seed com todos os módulos exceto alguns

npm run seed:run -- --exclude user mailhistory
> A ordem dos parâmetros não influencia a execução

SFTP

Você pode usar:

  1. Filezilla
  2. Extensão de VSCode SFTP.

Caso use a extensão de VSCode há uma configuração de exemplo em local_dev_example/.vscode/sftp.json

Links

Banco de dados

Generate migration

npm run migration:generate -* src/database/migrations/CreateNameTable 

Run migration

npm run migration:run

Revert migration

npm run migration:revert

Drop all tables in database

npm run schema:drop

Run seed

npm run seed:run

Testes

# unit tests
npm run test

# e2e tests
npm run test:e2e

Testando scripts localmente

Para testar scripts que fazem uso das mesmas boblioitecas e componentes deste projeto basta criar a seguinte pasta:

api-cct
📂 src
    📂 local_dev    # não sincornizado
        seus-scripts.ts

Para executar basta rodar:

ts-node "diretório do script"

Depurando testes

Configuração no VSCode:

Requisitos

Veja em .vscode/launch.json

Testes no Docker

docker compose -f docker-compose.ci.yaml --env-file env-example -p ci up --build --exit-code-from api && docker compose -p ci rm -svf

Benchmarking de testes

docker run --rm jordi/ab -n 100 -c 100 -T application/json -H "Authorization: Bearer USER_TOKEN" -v 2 http://<server_ip>:3000/api/v1/users