About this project

GrowerHub is an open platform for managing a greenhouse or mini-farm. It combines Zigbee2MQTT, MQTT devices, zones, sensor history, and control scenarios in a single web interface. The project started as an ESP32 watering controller, later named Grovika. After operation and several architectural iterations, it grew into a multi-user self-service platform with isolated coordinators, MQTTS, and automations. The demo farm opens directly in the browser: four greenhouses with different microclimates, plants, sensor history, and watering events are already configured. This is a shared GrowerHub application with virtual devices; each visitor has their own sandbox, and demo commands do not control physical equipment. The guest demo lasts 24 hours; changes can be saved by logging into an account. A separate connection path is described for real hardware. Repository structure: - backend — Java Spring Boot, REST API, MQTT, domains, and PostgreSQL migrations; - frontend — React/Vite, public bilingual website and dashboard; - firmware — Grovika firmware in C++/PlatformIO; - zigbee_coordinator — Zigbee2MQTT and connector for Windows and Linux; - ansible — server infrastructure and deployment roles; - docs/architecture — architectural documentation. Build and tests are described with Gradle commands for backend, npm for frontend, and PlatformIO for firmware. The public development history starts on October 6, 2025, and contains over 770 commits; early MQTT commands, Grovika, the transition from FastAPI to Java/Spring, the new sensor and pump model, Zigbee2MQTT, and self-service are visible in Git. An anonymized dated slice of operational data is published on the "About the project" page. The project is bilingual (Russian and English); feedback is welcome via GitHub Issues.