O AgroHelper é um sistema web desenvolvido para auxiliar pequenos e médios agricultores na gestão de suas propriedades, fornecendo um marketplace para compra e venda de produtos agrícolas, além de um chatbot agrícola inteligente para assistência especializada.
- Java (Spring Boot)
- Spring Security + JWT (Autenticação)
- Arquitetura em camadas (Controller → Service → DAO → Repository)
- Python + FastAPI (Chatbot IA)
- OpenAI API (Processamento de Linguagem Natural)
- HTML, CSS, JavaScript
- Design responsivo
- UI moderna e profissional
- PostgreSQL
✅ Sistema de Usuários com Tipos Diferenciados
- BUYER (Comprador): Pode comprar produtos e usar o chatbot
- SELLER (Vendedor): Pode vender produtos no marketplace
- ADMIN (Administrador): Controle total do sistema
✅ Marketplace Agrícola
- Filtros avançados por categoria e preço
- Cards de produtos animados e responsivos
- Detalhes de produtos completos
- Interface intuitiva e profissional
- Controle de acesso baseado em tipo de usuário
✅ Chatbot Agrícola com IA
- Integração com OpenAI
- Contexto especializado em agricultura
- Recomendação inteligente de produtos
- Exclusivo para usuários compradores
- Interface interativa e amigável
✅ Sistema de Autenticação Segura
- Login/Registro com validação
- Armazenamento seguro de senhas
- Tokens JWT para autenticação
- Controle de permissões por tipo de usuário
src/
├── main/java/com/agrohelper/
│ ├── AgroHelperApplication.java # Classe principal
│ ├── config/ # Configurações da aplicação
│ ├── controller/ # Controladores REST
│ ├── service/ # Camada de serviço
│ ├── dao/ # Objetos de acesso a dados
│ ├── repository/ # Interfaces para banco de dados
│ ├── entity/ # Entidades/modelos
│ └── exception/ # Tratamento de exceções
└── resources/
├── application.properties # Configurações do Spring
└── db/ # Scripts SQL
frontend/
├── assets/ # Recursos estáticos
│ ├── css/ # Estilos CSS
│ ├── js/ # Scripts JavaScript
│ └── images/ # Imagens
├── components/ # Componentes reutilizáveis
├── index.html # Página inicial
└── pages/ # Páginas da aplicação
├── auth/ # Autenticação (login/registro)
│ ├── login.html
│ └── register.html
└── marketplace/ # Marketplace
├── index.html
├── add-product.html
└── product-detail.html
chatbot/
├── app.py # Aplicação principal FastAPI
├── agriculture_context.py # Sistema de contexto agrícola
└── requirements.txt # Dependências Python
O marketplace permite que agricultores (SELLER) cadastrem seus produtos para venda, enquanto compradores (BUYER) podem navegar, filtrar e visualizar detalhes dos produtos disponíveis.
Características:
- Sistema de Filtros Avançados: Categoria, preço, localização
- Cards de Produtos Animados: Design moderno com efeitos de hover
- Controle de Acesso: Apenas vendedores podem adicionar produtos
- Categorias de Produtos: Grãos, Frutas, Legumes, Equipamentos, Serviços, Insumos
Um assistente virtual especializado em agricultura, utilizando a API da OpenAI e um sistema de contexto específico para fornecer informações precisas sobre cultivo, equipamentos e técnicas agrícolas.
Características:
- Conhecimento Agrícola Especializado: Informações sobre culturas, técnicas e equipamentos
- Sugestão de Produtos: Recomendação inteligente baseada na conversa
- Interface Amigável: Design moderno com animações suaves
- Exclusivo para Compradores: Funcionalidade premium para usuários BUYER
Implementação de uma arquitetura robusta seguindo os princípios de separação de responsabilidades:
Fluxo de Dados:
- Controller: Recebe requisições HTTP, valida permissões
- Service: Implementa lógica de negócio
- DAO: Abstrai operações de acesso a dados
- Repository: Interface direta com o banco de dados
Diferentes tipos de usuários com permissões específicas:
Tipos:
- BUYER: Pode comprar produtos e usar o chatbot agrícola
- SELLER: Pode vender produtos no marketplace e visualizar seus anúncios
- ADMIN: Acesso completo ao sistema (não implementado na interface atual)
- Java 17+
- Maven
- PostgreSQL
- Python 3.8+ (para o chatbot)
- Chave da API OpenAI (para o chatbot)
# Clone o repositório
git clone https://github.com/SamPenido/agrohelper.git
cd agrohelper
# Configure o banco de dados PostgreSQL
# Edite src/main/resources/application.properties com suas credenciais
# Compile e execute com Maven
mvn spring-boot:run# Navegue até a pasta do frontend
cd frontend
# Abra o index.html em um navegador ou use um servidor local
# Exemplo com Python
python -m http.server 8000# Navegue até a pasta do chatbot
cd chatbot
# Instale dependências
pip install -r requirements.txt
# Configure a chave da API OpenAI
# Edite o arquivo .env na raiz do projeto
# Execute o servidor FastAPI
uvicorn app:app --reload --host 0.0.0.0 --port 8000🔹 Artur Rizzi Martinho
🔹 Erick Lima Hardeman
🔹 Gabriel Drumond Franklin de Miranda e Rezende
🔹 Samuel Penido