Elaborar uma aplicação de backend utilizando a linguagem de programação Python que deverá conter uma API retornando os dados da previsão do tempo dos próximos dias. Para elaborar essa aplicação, utilizar a API de previsão do tempo de 5 dias do OpenWeatherMap. Será necessário criar uma conta e subscrever para utilizar a API, porém é possível fazê-lo de forma gratuita. Salvar o histórico de chamadas para consulta posterior. A aplicação resultante deverá ser enviada ao seu GitHub em um repositório público, encaminhando o link ao time de recrutamento.
- Linguagem de programação: Python;
- Banco de Dados: Poderá utilizar seu banco de dados à seu gosto, mas dê preferência para bancos não relacionais, como MongoDB;
- Bibliotecas e Frameworks: Utilizar quaisquer bibliotecas e frameworks à seu gosto (requests, flask, django, pymongo, etc), porém a chamada da API deve ser feita diretamente;
- Documentação: Elaborar um README com, no mínimo, as instruções referentes à subir o ambiente da sua aplicação;
- Bônus: Envie para o repositório quaisquer artefatos que tenha utilizado para implementar essa aplicação (collections do postman, testes unitários, etc).
Existe um arquivo com o exemplo de como vc deve fazer o seu arquivo .env, o arquivo é o env.example
O pyenv é um versionador de Python, é uma etapa opcional, mas muito recomendada para quem sua MacOs.
- Instale o Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
- Instale o pyenv
brew install pyenv
- Adicione pyenv init ao seu shell para habilitar o shims e autocompletion. Adicione ao seu arquivo ~/.zshrc:
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
- Reinicie seu terminal.
- Após a instalação, você pode usar o pyenv para instalar diferentes versões do Python. Por exemplo:
pyenv install 3.8.6
- Para definir uma versão do Python como padrão global:
pyenv global 3.8.6
- Para definir uma versão do Python em um diretório específico:
pyenv local 3.8.6
O pipenv é um virtualizador de ambiente que pode trabalha com dois arquivos Pipefile
e Pipefile.lock
, ele tem um controle um pouco melhor que o virtualenv.
- Instalar o pipenv
pip install pipenv
- Criar um ambiente virtual e instalar dependências:
pipenv install
- Ativar o ambiente virtual:
pipenv shell
- Instalar um pacote no ambiente virtual:
pipenv install <nome_do_pacote>
- Sair do ambiente virtual:
exit
Depois do ambiente configurado, você precisa executar dois comandos:
- subir o banco:
make db-up
- subir o backend:
make run
Obs: se vc precisar baixar o banco, roda esse comando:
make db-down