O objetivo principal deste teste é avaliar o quão bem você conhece as tecnologias e conceitos que usamos em nossas atividades diárias, e analisar como você desenvolve sua linha de raciocínio.
Um usuário quer visualizar a lista de produtos com possibilidade de filtrá-los por "nome", "marca", "vendedor" e "faixa de preço", e ver os detalhes de um produto específico. Crie uma aplicação CRUD (salvar, alterar, consultar e excluir) com os seguintes critérios:
- Listar produtos com filtro:
/products
; - Exibir detalhes do produto:
/product/:slug-do-produto
;
- Consumir informações do banco de dados;
- API REST;
- Implementação de testes unitários;
- Código limpo;
- Boas práticas;
- Documentação dos endpoints;
- Uso de logs de aplicação;
- Utilizar cache;
-
📆 Você tem 7 dias corridos para entregar o teste;
-
O teste pode ser desenvolvido utilizando qualquer linguagem comumente encontrada no ambiente web. Preferencialmente, utilize as seguintes tecnologias: MongoDB, NodeJs + Typescript;
-
Use o GitHub, crie sua conta caso não tenha. Quando pronto, nos avise que iremos realizar o Code Review. Seus commits também serão analisados, pois é uma boa forma de entender seu fluxo de pensamento;
-
O projeto deve ser entregue com todas as instruções para ser instalado e executado dentro de um arquivo
README.md
; -
Mostre seus conhecimentos de Design Patterns. Aplique as melhores práticas que puder imaginar, elas serão importantes para determinar seu nível de expertise;