Você deve efetuar o pull do código local e após a finalização, abrir um Merge Request para avaliação. TEMPO ESTIMADO DE RESOLUÇÃO: 20~30min
Neste desafio, você deve identificar falhas no código que comprometam os seguintes itens:
- DDD
- Single Responsibility Principle
- Code quality
- RESTful Apps (HTTP Verbs and Codes)
- Immutability
Você deve melhorar o código apresentado, levando em consideração os pontos de avaliação.
Recomendamos a implementação dos seguintes itens:
- Global Exception Handler
- Nullish verification
- Request validation
O projeto está preparado para utilizar um banco de dados postgres. Caso não tenha instalado na sua máquina, aconselhamos a utilização via Docker, através do seguinte comando:
docker run -d --name bbox_pg -p 25060:5432 -e POSTGRES_PASSWORD='postgres' -e PGDATA=/var/lib/postgresql/data/pgdata -v bbox_pg:/var/lib/postgresql/data postgres:12.2-alpine
Próximo passo é criar o database bbox, que será utilizado no projeto.
Instale o ts-node globalmente com o seguinte comando
npm i -g ts-node
Instale todas as dependências com algum dos comandos abaixo:
npm install --quiet
yarn install --quiet
Depois execute as migrations do typeorm para criar as tabelas necessárias, com algum dos comandos abaixo:
npm run typeorm migration:run
yarn typeorm migration:run