AgCloud is a smart cloud-based agriculture platform designed to understand, monitor, and predict field conditions in real time. The system integrates data from heterogeneous field sources and processes it through a scalable, distributed data architecture to enable accurate, data-driven decision making.
The platform continuously collects data from a wide range of field sources, including IoT sensors, soil and environmental measurements, audio signals, cameras, drones, and agronomic and atmospheric data.
The system unifies numeric, spatial, visual, and acoustic data into a single, coherent view of the field.
- MQTT is used as a lightweight, efficient, and reliable communication protocol for ingesting data from edge devices.
- Apache Kafka serves as the backbone of the data layer, enabling scalable, fault-tolerant, and distributed processing.
Data is consumed by: - Apache Flink for real-time stream processing - Apache Airflow for scheduled and batch workflows
Processing responsibilities include data cleaning, normalization, enrichment, analytics, and predictive modeling.
Processed data is stored according to its characteristics: - PostgreSQL (structured and time-series data) - Object Storage (images, video, audio) - GIS-compatible storage (spatial data) - Vector Databases (advanced analytics and embeddings)
The platform enables anomaly detection, risk identification, and long-term pattern analysis. Insights are exposed via a centralized API and visualized through a unified dashboard with maps, metrics, alerts, and forecasts.
- Docker
- Docker Compose
docker compose up -d --buildThis command builds and starts the entire system, including ingestion, streaming, processing, storage, and API layers.