Bem-vindo(a) ao meu projeto do desafio Backend!
-
Primeiro execute o comando
chmod +x entrypoint.sh
para dar permissão de execução no arquivo de script que está no diretório .docker; -
Após dar permissão ao arquivo entrypoint, execute o container docker por meio do comando
docker-compose up -d
no diretório .docker, onde está localizado o docker-compose.yaml.
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
- Utilizar clean architecture
- Utilizar docker
- Implementar o projeto utilizando SAP CAP
- Testes unitários
- Testes de integração
- Testes de stress
- Testes e2e
Caso tenha o Insomnia, você pode baixar e importar todas as rotas: rotas
-
Produto
- GET | FIND ALL -
/api/v1/products
: busca todos os produtos; - GET | FIND BY ID -
/api/v1/products/:id
: busca um produto por id; - GET | FIND MANY BY FILTER -
/api/v1/products/filters?category=value&title=value&page=1&limit=10
: busca produtos por fitro de categoria e título com possiblidade de paginação; - POST | SAVE -
/api/v1/products
: salva um produto; - PATCH | UPDATE BY ID -
/api/v1/products/:id
: atualiza um produto; - DEL | DELETE BY ID -
/api/v1/products/:id
: deleta um produto.
- GET | FIND ALL -
-
Usuário
- GET | FIND ALL -
/api/v1/users
: busca todos os usuários; - GET | FIND BY ID -
/api/v1/users/:id
: busca um usuário por id; - POST | SAVE -
/api/v1/users
: salva um usuário; - PATCH | UPDATE BY ID -
/api/v1/users/:id
: atualiza um usuário; - DEL | DELETE BY ID -
/api/v1/users/:id
: deleta um usuário.
- GET | FIND ALL -
-
Pedido
- GET | FIND ALL -
/api/v1/purchases
: busca todas as ordens de pedido; - GET | FIND HISTORY -
/api/v1/purchases/history/:id?category=value&title=value
: busca pedidos por usuário com posssiblidade de fitro de categoria e título; - POST | SAVE -
/api/v1/purchases
: salva um pedido.
- GET | FIND ALL -