Este projeto é a implementação do Tech Challenge do curso de pós-graduação da FIAP. O objetivo é a criação de uma API pública para consulta de dados do site da Embrapa nas seguintes abas:
- Produção
- Processamento
- Comercialização
- Importação
- Exportação
A API servirá para alimentar uma base de dados que futuramente será usada para um modelo de Machine Learning.
- Criar uma Rest API em Python que faça a consulta no site da Embrapa.
- Documentar a API.
- (Opcional) Implementar um método de autenticação (por exemplo, JWT).
- Criar um plano para o deploy da API, desenhando a arquitetura do projeto desde a ingestão até a alimentação do modelo. Não é necessário elaborar um modelo de ML, mas é preciso escolher um cenário interessante em que a API possa ser utilizada.
- Fazer um MVP realizando o deploy com um link compartilhável e um repositório no GitHub.
- API em Python: API implementada utilizando o frameworks FastAPI.
- Documentação: Utilizado a ferramenta Swagger embutida no framework Fastapi.
- Autenticação: Implementada autenticação JWT.
- Plano de Deploy: Desenho da arquitetura do projeto, incluindo serviços de cloud, CI/CD, etc.
- MVP: Deploy da API com um link compartilhável e repositório no GitHub.
A Documentação da API é disponiblilizada após a execução do projeto: http://url_de_execução/docs
ex: http://127.0.0.1:8000/docs
git clone https://github.com/willalveslima/Tech_Challenge_1.git
cd Tech_Challenge_1
pythom -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python .\main.py
A pagina de documentação estará disponível em http://127.0.0.1:8000/docs
O script consumidor_api.py
demonstra a forma de consumo da API.
- Faça um fork do repositório.
- Crie uma branch para sua feature (
git checkout -b feature/nome-da-feature
). - Commit suas mudanças (
git commit -m 'Adiciona nova feature'
). - Faça o push para a branch (
git push origin feature/nome-da-feature
). - Abra um Pull Request.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
Para mais informações, entre em contato com [[email protected]].