:star2: Amanda Pacheco
:star2: Naomy Duarte Gomes
:star2: Tamara Santos Costa
Este é o projeto final do bootcamp de aceleração em Python promovido pelo Luiza labs, que sumariza tudo o que foi aprendido durante as semanas por meio da criação de um carrinho de compras. Nosso grupo recebeu como objetos de venda filmes e séries e nomeamos nossa aplicação .
Utilizamos Python como linguagem de programação, o framework FastAPI e a base de dados não-relacional MongoDB. Para a criação do carrinho, as informações que utilizamos no projeto foram: clientes, produtos e o próprio carrinho. Os clientes podem cadastrar mais de um endereço e podem alugar ou comprar filmes e séries em formato digital (nenhum produto físico é utilizado). A estrutura do projeto é a seguinte:
├── Projeto_final_luiza_code
│ │── env.example
│ ├── src
│ │ ├── __init__.py
│ │ ├── business_objects
│ │ │ ├── cart_bo.py
│ │ │ ├── product_bo.py
│ │ │ └── user_bo.py
│ │ │
│ │ ├── endpoints
│ │ │ ├── __init__.py
│ │ │ ├── carts.py
│ │ │ ├── products.py
│ │ │ └── users.py
│ │ │
│ │ ├── models
│ │ │ ├── carts.py
│ │ │ ├── carts_item.py
│ │ │ ├── products.py
│ │ │ └── users.py
│ │ │
│ │ └── routes
│ │ └── api.py
│ ├── __init__.py
│ ├── main.py
│ ├── requirements.txt
└── README.md
Nesta pasta, definimos a estrutura dos objetos utilizados.
Nesta pasta, definimos as regras pelas quais clientes, endereços, itens e carrinhos serão solicitados pela API de acordo com os requerimentos do projeto. Além disso, como características próprias deste projeto, temos:
Nesta pasta, definimos os canais de comunicação da API.
Para testar a API de forma interativa, podemos utilizar o Swagger, que é uma documentação automática. A API possui a seguinte documentação:
Para a conexão com o banco de dados, é necessário informar uma URI, conforme exemplo em .env.examples. Esta URI pode ser obtida na página do MongoDB quando clicamos em "Connect -> Connect your application". Com esta mesma URI e utilizando o MongoDB Compass, podemos visualizar o banco de dados deste projeto, que possui as seguintes coleções:
A API pode ser executada seguindo os passos abaixo:
https://github.com/naomyduarteg/Projeto_final_luiza_code.git
python3 -m venv <name_of_venv>
No Windows:
Scripts/activate
No Linux/Mac:
bin/activate
pip install -r requirements.txt
uvicorn main:app --reload
A mensagem "Project connected to the MongoDB database!" deverá aparecer se a execução for bem sucedida. A partir deste ponto, pode-se usar o Swagger para teste da API e o MongoDB Compass para acompanhar os documentos gerados em cada coleção, conforme mostrado nas imagens acima.
O deploy foi realizado junto ao Heroku, onde é necessário configurar as variáveis de ambiente.
Para visualizar o deploy:
1) Acesse o QR Code abaixo:
ou
2) Acesse o link: https://luizacodeprojetofinal.herokuapp.com/docs