AgroPulse Backend is a Java 17 / Spring Boot 3 REST API that powers IoT greenhouse monitoring. It accepts sensor readings from ESP32 devices (or any HTTP client), runs automated anomaly detection every two minutes, fires automation rules to control actuators, and delivers alert notifications via email and WhatsApp.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/diarpicu2022-commits/backend-AgroPulse/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Make your first API call and ingest a sensor reading in under five minutes.
API Reference
Full endpoint documentation for every resource — auth, sensors, readings, alerts, and more.
Anomaly Detection
Learn how AgroPulse automatically detects out-of-range values, stuck sensors, and data gaps.
Deploy
Run AgroPulse locally with SQLite or deploy to production with PostgreSQL on Render or any Docker host.
What AgroPulse does
AgroPulse collects environmental data from greenhouse sensors — temperature, humidity, soil moisture, CO₂, pH, light intensity, and wind speed — and provides the intelligence layer on top:- Auto-registration: POST a reading without a
sensorIdand AgroPulse creates the sensor record automatically. - Anomaly detection: A background scheduler runs every 2 minutes to flag out-of-range values, missing data, stuck sensors, and sudden spikes.
- Automation rules: Link a sensor condition to an actuator action (for example, turn on irrigation when soil moisture drops below 30 %).
- Notifications: When anomalies are detected, AgroPulse emails configured recipients via SendGrid and sends WhatsApp messages via CallMeBot.
Connecting devices
Send readings from ESP32 or any HTTP-capable device.
Managing greenhouses
Create greenhouses, assign sensors, and control access per user.
Automation rules
Define condition-action rules that control actuators automatically.
Alert recipients
Configure who receives email and WhatsApp alerts per greenhouse.
Base URL
All endpoints are served under the/api context path:
8080, so the base URL is http://localhost:8080/api.
AgroPulse does not issue JWT tokens from its own endpoints. Authentication is handled by passing the user object returned from
/api/auth/login or /api/auth/register directly from the frontend. See Authentication for details.