O Preço Médio é uma aplicação Python criada para calcular o preço médio de produtos. Este tutorial abrange desde a configuração do ambiente até o uso da API.
- Python 3.12
- Ambiente Virtual: Para organizar pacotes e denpendências
- Git: Ferramenta para controle de versão
- Docker: Para contêinerização da aplicação
- Postman ou Insomnia: Ferramentas para testar a API
- SQLite: Banco de dados integrado ao Django
- NPM: Gerenciar pacotes e dependências de projetos JavaScript, como o Create React App.
-
Baixar o instalador do Python:
- Acesse o site oficial do Python (https://www.python.org/downloads/) e baixe a versão 3.12.
-
Instalar o Python:
- Execute o instalador baixado.
- Marque a opção "Add Python to PATH" na primeira tela do instalador. Isso facilita o uso do Python no Prompt de Comando.
- Clique em "Install Now" e aguarde a instalação.
-
Verificar a instalação:
- Abra o Prompt de Comando (digite
cmdno menu Iniciar). - Digite
python --versione pressione Enter. Você deve ver a versão do Python instalada, algo comoPython 3.x.x.
- Abra o Prompt de Comando (digite
-
Instalar Formatadores (opcional):
- Abra o Prompt de Comando (digite
cmdno menu Iniciar). - Digite
pip install flake8para indicar formatos de código fora da convenção Python PEP8 - Digite
pip install blackpara corrigir formatos de código fora da convenção Python PEP8 - Digite
pip install isortpara corrigir formatos de importação de pacotes fora da convenção Python PEP8
Você também pode instalar plugins para VSCode:
- Instale o
Black Formattere oIsort, assim o VsCode irá ordenar os imports e corrigir automaticamente formatação do código.
- Abra o Prompt de Comando (digite
- No Prompt de Comando, navegue até o diretório onde você quer criar o ambiente virtual. Por exemplo:
cmd cd C:\Users\SeuUsuario
Observação: Considere usar o Pipenv ou Poetry para organizar seus pacotes, pois são ferramentas mais poderosas para desinstalar dependências aninhadas. A solução abaixo é apenas a mais simples.
- No Prompt de Comando, crie um ambiente virtual com o comando:
cmd python -m venv nome_do_ambiente
- Substitua nome_do_ambiente pelo nome que deseja dar ao ambiente virtual (por exemplo, aps2).
- No Windows, use o comando:
cmd nome_do_ambiente\Scripts\activate
- Após a ativação, você verá o nome do ambiente virtual (por exemplo, (aps2)) antes do prompt, indicando que está ativo.
- Atualizar o pip:
- Com o ambiente ativado, atualize o pip para garantir a versão mais recente:
cmd python -m pip install --upgrade pip
- Instalar dependências:
- Instale as dependências que seu projeto ou ambiente pode precisar. Por exemplo, para instalar requests e flask, execute:
cmd pip install requests flask
- Verificar os pacotes instalados:
- Use o comando pip list para ver uma lista dos pacotes instalados no ambiente:
cmd pip list
Para sair do ambiente virtual e voltar ao prompt normal, basta digitar:
cmd deactivate
Observação: O comando deactivate apenas sai do ambiente virtual; ele não o apaga. O ambiente virtual e todos os pacotes instalados nele permanecem salvos. Você pode reativá-lo a qualquer momento com o comando nome_do_ambiente\Scripts\activate. Para excluir o ambiente virtual completamente, você precisaria deletar a pasta onde ele foi criado (por exemplo, aps2).
O Git é necessário para clonar o repositório do projeto.
-
Baixar e Instalar Git:
- Acesse Git Downloads e faça o download.
- Durante a instalação, marque a opção para adicionar o Git ao PATH.
-
Verificar a Instalação:
- Após a instalação, abra o Prompt de Comando e digite:
git --version
- Após a instalação, abra o Prompt de Comando e digite:
O Docker é usado para rodar a aplicação em contêineres, garantindo que o ambiente de produção seja idêntico ao de desenvolvimento.
-
Baixar e Instalar Docker Desktop:
- Acesse Docker Downloads e faça o download.
- Após a instalação, reinicie o computador se necessário e abra o Docker Desktop.
-
Verificar a Instalação:
- No Docker Desktop, certifique-se de que o Docker está funcionando corretamente.
-
Construir os Contêineres:
- No diretório principal do projeto (onde está o arquivo
docker-compose.yml), execute:docker-compose build
- No diretório principal do projeto (onde está o arquivo
Essas ferramentas são usadas para enviar requisições HTTP para a API.
-
Baixar e Instalar Postman:
- Acesse Postman Downloads e faça o download.
-
Baixar e Instalar Insomnia (alternativa):
- Acesse Insomnia Downloads e faça o download.
O projeto utiliza o SQLite como banco de dados. Você também pode instalar plugins para VSCode:
- Instale o
SQLite Viewer, assim você conseguirá visualizar os dados em formato de tabelas no VSCode.
Para configurar o SQLite, execute os seguintes comandos:
-
Aplicar Migrations do Django:
- Execute os comandos a seguir para configurar o banco de dados:
python manage.py migrate
- Execute os comandos a seguir para configurar o banco de dados:
-
Criar as Migrations Específicas do App:
- No diretório do projeto, execute:
python manage.py makemigrations PrecoMedioApp python manage.py migrate
- No diretório do projeto, execute:
-
Consulte a documentação do SQLite3:
- Demais dúvidas, consulte a documentação
O npm é uma ferramenta fundamental para gerenciar pacotes e dependências de projetos JavaScript, como o Create React App.
-
Instale o Node.js: O npm vem junto com o Node.js. Para instalá-lo, vá até o site oficial: nodejs.org e baixe a versão recomendada para a maioria dos usuários.
-
Verifique a instalação: Após a instalação, abra o terminal ou prompt de comando e execute os seguintes comandos para verificar se o Node.js e o npm foram instalados corretamente:
-
Para verificar o Node.js:
node -v -
Para verificar o npm:
npm -v
-
Agora que o ambiente está configurado, você pode iniciar a aplicação e interagir com a API.
-
Iniciar o Servidor de Desenvolvimento:
- Execute o seguinte comando para iniciar o servidor Django local:
python manage.py runserver
- Execute o seguinte comando para iniciar o servidor Django local:
-
Acessar a Aplicação:
- O servidor estará disponível em
http://127.0.0.1:8000/. Você pode acessá-lo pelo navegador ou usar o Postman/Insomnia para testar os endpoints.
- O servidor estará disponível em
-
Abrir o Postman/Insomnia:
- Abra o Postman ou Insomnia para testar os endpoints da API.
-
Enviar Requisições:
- Para testar a API, crie requisições HTTP com os métodos GET, POST, PUT, etc., de acordo com os endpoints definidos no seu projeto.
Exemplo de uma requisição para listar produtos:
GET http://127.0.0.1:8000/api/produtos/
- No Postman ou Insomnia, insira a URL e o tipo de requisição, e clique em "Send" para obter a resposta.
- precoMedioApi: Contém o código-fonte da API.
- PrecoMedioApp: Aplicação principal onde a lógica de negócios reside.
- docker-compose.yml: Arquivo de configuração para o Docker, que define como os contêineres devem ser configurados e executados.
Se você deseja contribuir para o projeto:
- Faça um Fork do repositório no GitHub.
- Crie uma Nova Branch com a sua feature ou correção:
git checkout -b nome-da-feature
- Faça Commit das Mudanças:
git add . git commit -m "Descrição da mudança" - Envia um Pull Request para a branch principal do repositório.
Se encontrar problemas ou tiver dúvidas:
- Abra uma issue no GitHub para relatar o problema ou pedir ajuda.
MIT License
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify