1.6 KiB
1.6 KiB
ApsGo - Sistem Penjadwalan Penyiraman Otomatis
Aplikasi Flutter untuk kontrol otomatis sistem penyiraman tanaman berbasis IoT dengan Firebase Realtime Database dan Railway Worker.
Status Terkini
✅ Sistem berjalan real-time dengan delay 20 detik/section ⚠️ Catatan: 1 waktu penjadwalan digunakan untuk banyak pompa sekaligus
Komponen Sistem
1. Flutter Mobile App
- Kontrol manual aktuator (pompa & mosvet)
- Penjadwalan otomatis (waktu mode)
- Monitoring sensor real-time
- History logging
2. Railway Worker (Node.js)
- Background automation 24/7
- Scheduler dengan timezone Asia/Jakarta
- Firebase SDK dengan REST API fallback
- BullMQ job queue untuk reliability
- Auto-recovery dari timeout issues
Fitur Utama
- Dual Mode: Kontrol manual + penjadwalan otomatis
- Real-time Sync: Firebase Realtime Database
- Reliable Execution: Timeout handling + REST API fallback
- History Tracking: Log semua aktivitas penyiraman
- Safety Mechanisms: Auto-shutoff jika error
Teknologi
- Frontend: Flutter (Dart)
- Backend Worker: Node.js v18+
- Database: Firebase Realtime Database
- Queue: Redis + BullMQ
- Deployment: Railway.app
- Authentication: Firebase Auth + Google Sign-In
Getting Started
Mobile App
flutter pub get
flutter run
Railway Worker
cd railway-worker
npm install
node worker.js