O AgroFlow é um sistema acadêmico desenvolvido em Python para apoiar o controle básico de irrigação e insumos no contexto do agronegócio. O foco do projeto está na organização de dados por talhão, no cálculo padronizado de irrigação por cultura e no registro de uso de insumos com rastreabilidade local e persistência em banco Oracle.
A aplicação opera em terminal e oferece um fluxo direto para cadastro, consulta, atualização e exclusão de talhões, além de rotinas de cálculo para necessidade hídrica e consumo de fertilizantes. O sistema utiliza regras de negócio explícitas: culturas e tipos de solo válidos, fatores fixos de irrigação por m² e fatores de aplicação de insumos por m². Essas regras permitem reproduzir um cenário simples e consistente de apoio à decisão operacional.
Do ponto de vista técnico, o projeto foi estruturado em módulos, com separação de responsabilidades entre camada de interface, serviços, modelos de dados, persistência local (JSON e TXT) e persistência remota no Oracle Database. Essa divisão facilita manutenção, reutilização de funções e evolução incremental do código.
A persistência local armazena talhões e histórico de operações em arquivos dentro de src/data, enquanto a integração Oracle garante operações de CRUD nas tabelas controle_agro e controle_insumos, incluindo relacionamento entre talhão e insumos aplicados. O projeto também contempla validação de entrada e tratamento de erros com try/except nos pontos críticos de integração com banco.
Embora o template institucional utilize o termo "AI Project Document", o AgroFlow não implementa treinamento de modelos de machine learning. A entrega é aderente ao contexto da disciplina de Python do curso de Inteligência Artificial, com ênfase em automação de rotinas, estruturação de dados e integração com banco de dados relacional.
Dentre os arquivos e pastas presentes na raiz do projeto, definem-se:
-
.github: arquivos de apoio do repositório (automatizações e configurações de integração).
-
.env: variáveis locais de conexão com Oracle (não versionar credenciais reais).
-
.env.example: modelo de variáveis necessárias para executar o projeto com Oracle.
-
assets: aqui estão os arquivos relacionados a elementos não-estruturados deste repositório, como imagens.
-
config: camada de compatibilidade para configuração de banco (
config/database.py). -
document: documentação institucional e complementar do projeto.
- ai_project_document_fiap.md: documentação acadêmica principal no template FIAP.
- other/readme.md: observações técnicas complementares.
-
scripts: scripts auxiliares, incluindo criação das tabelas Oracle (
create_tables.sql). -
src: código-fonte da aplicação.
- main.py: ponto de entrada da aplicação em terminal.
- app/core: menu, validações de entrada e utilitários.
- app/models: estruturas de dados e regras de negócio (culturas, solo, fatores).
- app/services: lógica de cadastro, irrigação e insumos.
- app/persistence: persistência em JSON, TXT e Oracle.
- app/config: configuração de conexão via variáveis de ambiente.
- data: arquivos locais (
talhoes.jsonelogs.txt).
-
README.md: arquivo que serve como guia e explicação geral sobre o projeto (o mesmo que você está lendo agora).
- Python 3.10 ou superior
- Oracle Database acessível (ambiente FIAP)
- Cliente SQL (ex.: SQL Developer, DBeaver ou SQL*Plus)
- Terminal de comandos (PowerShell, CMD ou bash)
git clone <url-do-repositorio>
cd "Cap 6 - Python e além"No Windows (PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1No Linux/macOS:
python -m venv .venv
source .venv/bin/activatepip install -r requirements.txtCrie o arquivo .env na raiz do projeto com base no .env.example:
ORACLE_USER=SEU_USUARIO_ORACLE
ORACLE_PASSWORD=SUA_SENHA_ORACLE
ORACLE_DSN=oracle.fiap.com.br:1521/orclExecute o script scripts/create_tables.sql no seu ambiente Oracle para criar:
controle_agrocontrole_insumos
python src/main.py- Cadastre talhões
- Liste os registros
- Calcule irrigação por talhão
- Registre insumos
- Atualize ou exclua talhões
Os dados locais são persistidos em src/data/talhoes.json e os eventos do sistema em src/data/logs.txt.
- 0.4.0 - 10/04/2026
- Integração Oracle estabilizada com operações de CRUD para talhões e registro de insumos.
- Revisão final da documentação institucional no padrão FIAP.
- 0.3.0 - 09/04/2026
- Inclusão de atualização e exclusão de talhões no menu principal.
- Consolidação do tratamento de erros de conexão e operações Oracle.
- 0.2.0 - 08/04/2026
- Implementação do cálculo de irrigação por cultura e registro de insumos por talhão.
- Persistência de logs em arquivo TXT.
- 0.1.0 - 07/04/2026
- Estruturação modular do projeto em
core,models,servicesepersistence. - Persistência local em JSON com carregamento e salvamento automáticos.
- Estruturação modular do projeto em
MODELO GIT FIAP por Fiap está licenciado sobre Attribution 4.0 International.
