A smart agriculture system providing end-to-end monitoring and automation for modern farming practices.
- Real-time sensor data tracking (temperature, humidity, soil moisture)
- Irrigation and ventilation control
- Native mobile apps for iOS (Apple Watch support) and Android
- Notification system using Firebase
- Containerized infrastructure (Docker Compose)
- Python-based IoT emulators (Automate & Observer)
+-------------------+ MQTT +-------------------+ REST +-------------------+
| IoT Emulators | <------------> | Backend | <-----------> | Mobile Apps |
| (Automate/Observer)| | (Spring Boot) | | (iOS & Android) |
+-------------------+ +-------------------+ +-------------------+
| | | | |
| | | | |
| v v v v
| +--------+---+---+---+--------+
| | PostgreSQL | InfluxDB | |
| | RabbitMQ | Mosquitto| |
| +-----------------------+ |
+------------------------------------------------------+
- Java 17
- Spring Boot
- REST API
- MQTT (Mosquitto)
- RabbitMQ
- PostgreSQL
- InfluxDB
- Firebase
- iOS: Swift, SwiftUI, Apple Watch support, Firebase
- Android: Kotlin, Jetpack Compose, Firebase
- Python 3.x
paho-mqttlibrary
- Docker & Docker Compose
- Docker & Docker Compose
- Java 17
- Python 3.x
- Android Studio / Xcode (for mobile development)
cd agroguardian_backend
docker-compose up -dIn a separate terminal for each emulator:
# Automate
cd agroguardian_automate
python main.py
# Observer
cd adroguardian_observer
python main.py- iOS: You can open and run the
agroguardian_app_iosdirectory with Xcode. - Android: You can open and run the
agroguardian_app_androiddirectory with Android Studio.
If you would like to contribute, please open an issue or submit a pull request. This project is licensed under the MIT license.