Bem-vindo(a) ao desafio Backend!
O objetivo deste desafio é avaliar suas habilidades de programação. Quando sua solução estiver pronta, basta responder o e-mail que recebeu com o link do seu repo aqui no Github! Em seguida, enviaremos o feedback e as instruções dos próximos passos!
Caso tenha alguma dúvida, nós estamos disponíveis no email recrutamento@b2rise.consulting. Bom desafio!
Tip
mlucascardoso
.
Important
Não faça fork deste repositório. Nos envie o seu repositório através do e-mail recrutamento@b2rise.consulting
O desafio será implementar uma API de e-commerce para venda de camisetas, canecas e adesivos que deverá ter as seguintes funcionalidades:
- Gerenciamento de produtos (criação, deleção, atualização)
- Busca de produtos com paginação e com a possibilidade de utilização de filtros
- Busca por de produto por id
- Busca de produtos por categoria
Também seria muito legal se você também implementasse:
- Gerenciamento de usuários (criação, deleção, atualização, leitura)
- Geração de pedido de compras com produtos selecionados
- Histórico de pedidos
- Permitir filtrar pedidos gerados
Chegou a hora de colocar a mão na massa!
- Faça a modelagem dos dados baseando-se nas entidades
- Utilize Typescript
- Utilize um ORM ou Query builder de sua escolha - TypeORM, Sequelize, Knex, etc
- Por favor, inclua no README as instruções de instalação do projeto (caso necessário)
- Sinta-se livre para incluir quaisquer observações
Além dos requisitos levantados acima, iremos olhar para os seguintes critérios durante a correção do desafio:
- Arquitetura
- Preocupação com segurança
- Padrões de código - GOF, Clean code
- Padrão de commits Conventional
O protótipo contém uma funcionalidade inteira. Não precisa fazer tudo se não conseguir, apenas o que for feito será avaliado. Foque principalmente em deixar as funcionalidades funcionando e o código bem bacana! 😋
- Utilizar clean architecture
- Utilizar docker
- Implementar o projeto utilizando SAP CAP
- Testes unitários
- Testes de integração
- Testes de stress
- Testes e2e
O desafio acima foi cuidadosamente construído para propósitos de avaliação apenas.