TKK_E32230814/railway-worker
Wizznu e1628ef4db Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
..
.vscode Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
android Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
assets/images Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
ios Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
lib Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
linux Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
macos Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
node_modules Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
railway-worker Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
test Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
web Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
windows Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
.dockerignore feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
.env Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
.env.example feat: Add Railway Worker, bug fixes, and mosvet_8 pengaduk 2026-02-10 07:22:43 +07:00
.env.template feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
.gitignore Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
.metadata Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
CARA_UBAH_ICON_APK.md Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
Dockerfile feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
FIREBASE_KEY_FIX.md Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
README.md Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
analysis_options.yaml Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
cekworker.txt Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
check-queue.js feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
clear-and-populate-dummy-data.js Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
debug.js feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
extract-credentials.js feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
firebase-example.json APSGO V2.1 NEW APS 2026-02-16 11:40:41 +07:00
firebase-structure-complete.json Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
firebase.json Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
migrate-history-source.js chore(railway): update worker and add history migration script 2026-03-26 18:27:01 +07:00
package-lock.json Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
package.json feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
pubspec.lock Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
pubspec.yaml Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00
railway.json feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
setup-firebase-jadwal.js APSGO V2.1 NEW APS 2026-02-16 11:40:41 +07:00
setup-firebase-threshold.js feat: Threshold-based sensor system with unlimited threshold configs 2026-02-16 12:30:13 +07:00
test-firebase-connection.js feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
test-firebase-direct.js feat: Complete ApsGo system with Railway Worker automation 2026-02-11 17:17:22 +07:00
worker.js Upload Tugas Akhir TKK 2026-07-09 09:49:35 +07:00

README.md

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

Dokumentasi