Zintegrowany system do monitorowania upraw i automatycznego nawadniania, łączący aplikacje z urządzeniami ESP32.
Dostarczony zakres
- API i model domenowy dla użytkowników, organizacji oraz urządzeń
- Portal React i aplikacja mobilna React Native
- Firmware ESP32, telemetria, alerty i sterowanie nawadnianiem
Konkretne rezultaty
- Działający przepływ danych od fizycznego czujnika do interfejsu użytkownika
- Wspólne reguły dostępu i logika biznesowa dla klientów webowych i mobilnych
- Architektura pozwalająca rozwijać firmware, backend i aplikacje niezależnie
Problem
Dane o roślinach, pomiary z czujników i sterowanie podlewaniem łatwo rozdzielają się pomiędzy różne narzędzia. Celem projektu było zebranie ich w jednym systemie, który działa zarówno dla pojedynczego użytkownika, jak i organizacji.
Rozwiązanie
System składa się z API w ASP.NET Core, portalu React, aplikacji React Native oraz firmware dla ESP32. Urządzenia wysyłają pomiary i odbierają polecenia, a użytkownik zarządza strefami, roślinami, sensorami, alertami i harmonogramami z jednej aplikacji.
- Izolacja danych organizacji i użytkowników przez TenantId.
- Alerty dla temperatury, wilgotności, światła i stanu urządzeń.
- Ręczne, harmonogramowe i automatyczne nawadnianie.
- Współdzielona logika TypeScript pomiędzy webem i aplikacją mobilną.
- Testy API, interfejsu webowego i aplikacji mobilnej.
Najważniejsze decyzje
Logika biznesowa i reguły dostępu pozostają po stronie API, a klienci dostają gotowe uprawnienia sekcyjne. Dzięki temu portal i aplikacja mobilna zachowują spójne reguły, mimo że oferują różny zakres interfejsu.
Warstwa urządzeń używa osobnych identyfikatorów i sekretów sprzętowych. Dane pomiarowe uruchamiają zdarzenia domenowe, które odpowiadają za alerty i decyzje o podlewaniu.
Rezultat
Projekt pokazuje pełny przepływ od fizycznego czujnika, przez API i bazę PostgreSQL, po interfejs użytkownika. Architektura pozwala rozwijać web, mobile i firmware niezależnie, bez duplikowania kluczowych reguł.




