Skip to content

luizacode5/carrinho_compras_calcados

Repository files navigation

Projeto Carrinho de Compras

💙 Autores:

📌 Introdução:

Projeto desenvolvido com base nos conhecimento adquiridos atráves do curso de Python oferecido pelo LuizaCode 5ª edição.

Foi criado um conjunto de APIs REst em python para um carrinho de compras, utilizando o framework FastAPI com seus registros salvos no banco de dados MongoDB.

📖 Bibliotecas utilizadas:

🛠 Como rodar o projeto:

Para executar:

sudo docker-compose up -d --build

Para parar:

sudo docker-compose down

Para ver os logs:

sudo docker-compose logs -f

Para utilizar os endpoints de Criar Endereço, Deletar Endereço e Deletar Cliente é necessário autenticação. Para fazer a autenticação é necessãrio primeiro criar um cliente da maneira normal, e então obter um token fazendo um POST no endpoint /token com o email e a senha, utilizando FORM, por exemplo, para um Cliente com email [email protected] e senha string.

curl -X POST http://localhost:8000/token -F username='[email protected]' -F password='string'

Esse endpoint então retornará o token de acesso, o token então deve ser utilizado para utilização dos endpoints protegidos, sendo adicionado no endpoint da seguinte maneira, para o exemplo de adicionar um endereço a um cliente:

curl -X 'POST' \
  'http://localhost:8000/enderecos/?email=user%40email.com' \
  -H 'Authorization: Bearer TOKEN_OBTIDO_ANTERIORMENTE_AQUI' \
  -H 'Content-Type: application/json' \
  -d '{
  "rua": "string",
  "cep": "string",
  "cidade": "string",
  "estado": "string"
}'

Também é possível fazer essas operações de maneira mais simples utilizando o /docs onde possui um botão Authorize que já coloca o token automaticamente em todas as operações que o necessitam estando na página.

Deploy no Heroku

https://carrinho-compras-luiza-code.herokuapp.com/docs#/

OBS: Ainda não está funcionando completamente, mudanças ainda serão realizadas.

💻 Requisito Funcionais e entregas extras:

🙆🏽‍♀️ Clientes

  • Cadastrar clientes
  • Cadastrar endereço
  • Pesquisar cliente
  • Pesquisar endereço
  • Remover cliente
  • Remover endereço

👞 Produto

  • Cadastrar produto
  • Atualizar dados de produto
  • Pesquisar produto
  • Pesquisar produto pelo nome
  • Remover um produto

🛒 Carrinho

  • Criar carrinho de compras e adicionar itens

  • Atualizar os dados do carrinho

  • Remover itens

  • Remover carrinho

  • Busca carrinho por cliente

  • Consultar carrinhos por produto

  • Consultar carrinhos abandonados

  • Consultar produtos "em alta"/"populares" nos carrinhos

  • Fechar carrinho (pedido)

  • Consultar pedido (carrinho fechado) por id

  • Consultar pedidos por cliente

  • Consultar pedidos por produto

  • Consultar produtos mais vendidos

  • Consultar quantidade e valor total de pedidos por cliente

✨ Entregas extras:

  • Especificação do produto
  • Documentação a API Rest com Swagger/OpenAPI
  • Readme
  • Testes unitários (parcial)
  • Autenticação
  • Mensagens de log
  • Arquivo Dockerfile e docker-compose
  • Deploy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages