Este projeto representa o módulo de frete de um sistema de e-commerce. Ele simula a lógica envolvida no cálculo, exibição e gerenciamento do frete de produtos em uma loja virtual.
Desenvolver um módulo independente e reutilizável para lidar com o frete de pedidos online, de forma flexível e integrada a diferentes plataformas.
- Maria Cecília
- Guilherme Gabriel
- Victor Hugo
- Felipe Andrade
Este projeto utiliza tecnologias modernas para garantir performance, segurança e escalabilidade:
- Python 3.12
- FastAPI: Framework moderno e rápido para construção de APIs.
- Uvicorn: Servidor ASGI leve e rápido.
- Make: Automatização de tarefas.
- SonarQube: Ferramenta de análise estática de código.
- Outras dependências listadas em
requirements.
git clone https://github.com/projeto-carreira-luizalabs-2025/pc-frete
cd pc-frete-
Crie o ambiente virtual:
make build-venv
-
Ative o ambiente virtual:
source venv/bin/activate -
Instale as dependências:
make requirements-dev
Para validar o lint:
make lint-
Copie o arquivo
.env:cp devtools/dotenv.dev .env
-
Rode o servidor:
make run-dev
-
Acesse a documentação:
- Swagger: http://localhost:8000/api/docs
- ReDoc: http://localhost:8000/redoc
-
Suba o SonarQube:
sudo docker-compose -f ./devtools/docker/docker-compose-sonar.yml up
-
Acesse o SonarQube em: http://localhost:9000 com login admin e senha admin:
-
Crie um token de autenticação no seu perfil. http://localhost:9000/account/security
-
Copie o token gerado e adicione no arquivo
sonar-project.properties:sonar.login=<seu_token_aqui> -
Instale o SonarScanner CLI manualmente:
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip unzip sonar-scanner-cli-5.0.1.3006-linux.zip export PATH="$PWD/sonar-scanner-5.0.1.3006-linux/bin:$PATH"
-
Execute a análise:
sonar-scanner
sudo docker build -f ./devtools/docker/Dockerfile -t pc/frete .sudo docker run --rm -p 8000:8000 pc/frete- Contribuições devem ser feitas via Pull Request.
- Todo PR passará por Code Review pela equipe.
- Após aprovação, as mudanças serão integradas ao repositório principal.