# 🌱 DocuAgro **Compliance do produtor, na palma da mão.** Bot Telegram + Painel Web para coleta, validação e organização de documentação de produtores rurais para compliance EUDR (Regulamento da União Europeia contra Desmatamento). --- ## 📋 O que é O DocuAgro resolve o problema da "última milha" do compliance EUDR: coletar, organizar e validar a documentação de cada produtor individual e entregar um dossiê padronizado para cooperativas e tradings. ### Como funciona 1. **Produtor** interage via **Bot Telegram** — envia documentos, tira dúvidas 2. **IA (gpt-4o-mini)** guia a coleta, valida documentos, orienta correções 3. **OCR** extrai dados automaticamente de fotos e PDFs 4. **Dossiê PDF** é gerado automaticamente quando todos os documentos estão prontos 5. **Cooperativa** acompanha tudo pelo **Painel Web** --- ## 📄 Documentos Coletados | # | Documento | Validação | |---|-----------|-----------| | 1 | **CAR** (Cadastro Ambiental Rural) | Número SICAR + OCR | | 2 | **CCIR** (Certificado Cadastro Imóvel Rural) | OCR + código INCRA | | 3 | **ITR** (Imposto Territorial Rural) | OCR + CPF/CNPJ | | 4 | **Georreferenciamento** | Coordenadas GPS | | 5 | **Licença Ambiental** | OCR + validade | | 6 | **Contrato de Arrendamento** | OCR (se aplicável) | | 7 | **Nota Fiscal de Venda** | OCR + dados | | 8 | **Declaração de Não Desmatamento** | Gerada automaticamente | --- ## 🛠 Stack Técnica - **Bot:** Node.js + [Telegraf](https://telegraf.js.org/) - **IA:** OpenAI API (gpt-4o-mini) - **OCR:** Tesseract.js - **PDF:** PDFKit - **Banco:** SQLite (via better-sqlite3) - **API:** Express.js - **Painel:** HTML/CSS/JS puro (sem framework) --- ## 🚀 Instalação ### Pré-requisitos - Node.js 18+ - Token do Bot Telegram (via [@BotFather](https://t.me/BotFather)) - Chave API da OpenAI ### Setup ```bash # Clonar repositório git clone http://137.184.77.7:3000/bigtux/docuagro.git cd docuagro # Instalar dependências npm install # Configurar variáveis de ambiente cp .env.example .env # Editar .env com seus tokens # Criar banco de dados npm run setup # Iniciar (bot + API + painel) npm start ``` ### Modo desenvolvimento ```bash npm run dev # Usa nodemon para auto-reload ``` --- ## ⚙️ Configuração (.env) ```env # Bot Telegram TELEGRAM_BOT_TOKEN=123456:ABC-DEF... # OpenAI API OPENAI_API_KEY=sk-... OPENAI_MODEL=gpt-4o-mini # Servidor PORT=3100 # Banco de dados DB_PATH=./data/docuagro.db # Upload UPLOAD_DIR=./uploads ``` --- ## 📱 Comandos do Bot | Comando | Descrição | |---------|-----------| | `/start` | Iniciar cadastro | | `/status` | Ver status dos documentos | | `/dossie` | Gerar dossiê PDF | | `/pular` | Pular documento atual | | `/ajuda` | Menu de ajuda | --- ## 🌐 Painel Web Acesse `http://localhost:3100` para o painel da cooperativa: - **Dashboard** com estatísticas em tempo real - **Lista de produtores** com status de compliance - **Busca** por nome, CPF, propriedade ou município - **Detalhes** de cada produtor e seus documentos - **Download** de dossiê PDF - **Exportação** CSV para sistemas externos --- ## 📡 API REST | Endpoint | Método | Descrição | |----------|--------|-----------| | `/api/health` | GET | Health check | | `/api/dashboard` | GET | Estatísticas gerais | | `/api/produtores` | GET | Listar produtores | | `/api/produtores/:id` | GET | Detalhe do produtor | | `/api/produtores/:id/dossie` | POST | Gerar dossiê PDF | | `/api/dossie/download/:arquivo` | GET | Download do dossiê | | `/api/exportar/csv` | GET | Exportar CSV | --- ## 📁 Estrutura do Projeto ``` docuagro/ ├── src/ │ ├── index.js # Entry point │ ├── setup-db.js # Criação do banco de dados │ ├── bot/ │ │ └── telegram-bot.js # Bot Telegram (Telegraf) │ ├── api/ │ │ └── routes.js # API REST (Express) │ ├── services/ │ │ ├── database.js # Operações de banco (SQLite) │ │ ├── ai-service.js # Integração OpenAI │ │ ├── ocr-service.js # OCR (Tesseract.js) │ │ ├── pdf-service.js # Geração de dossiê PDF │ │ └── system-prompt.js # Prompt da IA especialista EUDR │ └── utils/ ├── public/ │ └── index.html # Painel web da cooperativa ├── data/ # Banco SQLite ├── uploads/ # Documentos dos produtores ├── docs/ # Documentação adicional ├── .env.example # Template de configuração ├── .gitignore ├── package.json └── README.md ``` --- ## 🔒 Segurança - Documentos armazenados localmente (não em cloud pública) - Cada produtor tem diretório isolado de uploads - API sem autenticação no MVP (adicionar antes de produção!) - CPF/CNPJ armazenados para identificação ### TODO para produção: - [ ] Autenticação JWT no painel - [ ] HTTPS obrigatório - [ ] Rate limiting na API - [ ] Criptografia de dados sensíveis - [ ] Backup automático do banco --- ## 📊 Contexto EUDR O **Regulamento (UE) 2023/1115** proíbe a importação na UE de commodities produzidas em áreas desmatadas após 31/12/2020. Afeta: - 🫘 Soja - ☕ Café - 🍫 Cacau - 🌴 Óleo de palma - 🌳 Madeira - 🐄 Gado - 🔧 Borracha Produtores brasileiros que exportam precisam comprovar geolocalização, ausência de desmatamento e conformidade ambiental. --- ## 📝 Licença MIT --- **DocuAgro** — Feito com 🌱 para o agro brasileiro.