Descrição
API REST com a funcionalidade de Produtos Favoritos dos Clientes escrito em Python com Flask, SQLAlchemy e JWT utilizando banco de dados MySQL.
Versão utilizado do Python v3.9.0
Requisitos
- Criar, Atualizar, Visualizar e Remover Clientes
- O cadastro dos clientes deve conter apenas seu nome e endereço de e-mail
- Um cliente não pode se registrar duas vezes com o mesmo endereço de e-mail
- Cada cliente só deverá ter uma lista de produtos favoritos
- Em uma lista de produtos favoritos podem existir uma quantidade ilimitada de produtos
- Um produto não pode ser adicionado em uma lista caso ele não exista
- Um produto não pode estar duplicado na lista de produtos favoritos de um cliente
- A documentação da API de produtos pode ser visualizada neste link https://gist.github.com/Bgouveia/9e043a3eba439489a35e70d1b5ea08ec
- O acesso à api deve ser aberto ao mundo, porém deve possuir autenticação e autorização
Estrutura do projeto
Endpoints
- Registra usuário:
POST /api/users/register
- Login:
POST /api/users/login
- Cria cliente:
POST /api/clients/
- Todos clientes:
GET /api/clients/
- Cliente por Id:
GET /api/clients/{id}
- Atualiza cliente:
PUT /api/clients/{id}
- Remove cliente:
DELETE /api/clients/{id}
- Cria produtos favorito:
POST /api/clients/{client_id}/favorite/products
- Todos produtos favoritos:
GET /api/clients/{client_id}/favorite/products
- Produtos favorito por Id:
GET /api/clients/{client_id}/favorite/products/{product_id}