Esse projeto é uma mini aplicação contendo um endpoint para validar se o customer está apto a usar os serviços lemon. Como o teste em si é simples, quis colocar algumas coisas para agregar ao projeto, sendo ela:
- Clusterização de uma api
- docker set up
- tipagem para javascript usando typescript
Como o teste é fazer algumas validações para verificar se o customer está dentro das regras estabelecidas,
implementei um design pattern chamado Chain of Responsibility
(https://refactoring.guru/design-patterns/chain-of-responsibility/typescript)
que faz essas validações de um jeito simples e facil de se alterar.
Esta aplicação foi testada atraves de testes unitários e testes de integração.
Uma arquitetura simples seguindo algumas boas praticas do clean architecture.
Certifique-se de ter o Docker instalado e rodando na sua maquina.
execute o seguinte comando:
docker-compose up --build
Certifique-se de ter o node versão 20 LTS na sua maquina.
execute os comandos:
yarn / npm install
yarn/npm dev