Skip to main content

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.

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.

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 sensorId and 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:
https://your-host/api
For local development the default port is 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.

Build docs developers (and LLMs) love