"O Espaço é a Nova Fronteira" – Solução inteligente para a gestão de estufas autônomas em ambientes extremos (Marte, Lua e regiões inóspitas da Terra).
Este projeto faz parte da Global Solution 2026/1 da FIAP para o curso de Engenharia de Software. O AgroBot utiliza tecnologia de ponta para conectar a economia espacial a dores reais da Terra, como o agronegócio inteligente e a segurança alimentar em áreas remotas.
O sistema foi desenhado seguindo os princípios de Clean Architecture e S.O.L.I.D., garantindo escalabilidade entre a telemetria IoT e a interface do usuário.
- Java 17 & Spring Boot 3.x
- Oracle Database 19c (Persistência em nuvem FIAP)
- Spring Data JPA (Mapeamento Objeto-Relacional)
- Swagger / OpenAPI 3 (Documentação Interativa)
- Maven (Gerenciamento de dependências)
Gestão em tempo real de pressão, temperatura, umidade e níveis de CO2/O2 nos módulos de cultivo.
Base de dados com parâmetros biológicos ideais para plantas validadas pela NASA para o espaço (Batata Espacial, Tomate Red Robin, etc).
Casamento dinâmico entre o Astronauta responsável, o Habitat e a Planta, com cálculo automático de previsão de colheita.
Motor de processamento que recebe dados de sensores IoT. Se um valor ultrapassa o limite da planta, o sistema gera automaticamente um Log Crítico para o Dashboard.
- JDK 17
- Git
- Acesso ao Oracle Database FIAP
- Clone o repositório:
git clone https://github.com/NVJP-Tech/Agrobot-API.gitO projeto utiliza variáveis de ambiente para proteger as credenciais de acesso ao banco de dados. Você deve configurá-las no seu sistema ou diretamente na sua IDE (IntelliJ/VS Code).
Variáveis necessárias:
SPRING_DATASOURCE_URL:jdbc:oracle:thin:@oracle.fiap.com.br:1521:ORCLSPRING_DATASOURCE_USERNAME:Seu RM (Ex: RM000000)SPRING_DATASOURCE_PASSWORD:Sua Senha do Banco
-
Vá em
Run>Edit Configurations... -
Selecione a aplicação
AgrobotApplication. -
No campo Environment variables, clique no ícone da pasta e adicione as chaves e valores acima.
-
Clique em
ApplyeOK. -
Rode a aplicação:
Bash
./mvnw spring-boot:run
##📖 Documentação da API (Swagger)
A API possui documentação interativa completa. Com o projeto rodando, acesse:
👉 http://localhost:8080/swagger-ui.html
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/habitat |
Lista o status de todos os módulos de estufa. |
| PUT | /api/habitat/{id} |
Atualização de parâmetros climáticos e status. |
| GET | /api/plantas |
Retorna o catálogo de sementes e parâmetros ideais. |
| POST | /api/cultivos/{pltId}/{habId}/{astId} |
Inicia um novo ciclo de vida botânico. |
| POST | /api/logs/sensor/{culId} |
Recebe telemetria do IoT e gera alertas de severidade. |
| GET | /api/logs |
Dashboard de notificações e histórico de alertas. |
| DELETE | /api/astronautas/{id} |
Remove um tripulante da base de dados. |
- Nicolly Ramalho - RM555359 - IoT & Security (JWT)
- Vinicius Wince - RM557033 - Front-end Mobile & Pitch Storytelling
- Jean Matheus - RM555519 - API Backend & Cloud Architecture
- Pedro Gustavo - RM554415 - Database Modeling & QA
- Utilize o padrão Conventional Commits.
- Desenvolva sempre em branches
feature/*. - Pull Requests devem ser revisados por pelo menos um par.