GabrielButarelo / pago-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Pagô API

Esse projeto tem como intuito a criação de um CRUD de empresas e contatos para a empresa Pagô.

Stack utilizada

Back-end: Node (v18.2.0), Express, Typescript, Jest, ESLint, Prettier, Docker, Husky, TypeORM e Pino.

Banco de Dados: Postgres

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

API_PORT=3000

DB_NAME=postgres

DB_USERNAME=postgres

DB_PASSWORD=postgres

DB_HOST=localhost

DB_PORT=5433

Rodando localmente

Clone o projeto

  git clone https://github.com/GabrielButarelo/pago-api.git

Entre no diretório do projeto

  cd pago-api

Inicie o banco de dados pelo docker compose

  docker-compose up

Instale as dependências

  npm install

Execute as migrations

  npm run migration:run

Inicie o servidor

  npm run start:dev

Aprendizados

Durante o projeto pude aprender mais sobre o husky, e como ele funciona executando comandos antes do commit ou push ser realizado, além disso foi interessante realizar toda a configuração do eslint e prettier para que funcionassem corretamente em paralelo.

Melhorias

  • Adicionar injeção de dependencias para deixar o código mais desacoplado.
  • Adicionar jwt token para as requisições
  • Adicionar documentação das rotas
  • Adicionar testes

Rodando os testes

Para rodar os testes, rode o seguinte comando

  npm run test

About


Languages

Language:TypeScript 98.1%Language:JavaScript 1.4%Language:Shell 0.5%