You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sistem Rekomendasi Pertanian Cerdas Berbasis IoT & AI
Platform web full-stack untuk pertanian presisi — mencakup rekomendasi pupuk & pestisida berbasis AI, kontrol irigasi otomatis, monitoring sensor real-time via WebSocket, dan prakiraan cuaca.
cd"Frontend - AgroAdvisor"# Install dependencies
npm install
# Jalankan dev server
npm run dev
# Akses: http://localhost:3000
Environment Variables
Backend (Backend - AgroAdvisor/.env)
Variable
Contoh
Keterangan
GEMINI_API_KEY
AIzaSy...
API key Google Gemini AI
GROQ_API_KEY
gsk_...
API key Groq (AI fallback)
DB_HOST
db
Hostname database (db di Docker, localhost di dev)
DB_PORT
3306
Port MySQL
DB_NAME
agroadvisor
Nama database
DB_USER
root
User database
DB_PASSWORD
password123
Password database
APP_HOST
0.0.0.0
Host binding server
APP_PORT
8001
Port server API
ADMIN_USERNAME
admin
Username login dashboard
ADMIN_PASSWORD
admin123
Password login dashboard
ADMIN_TOKEN
secret_token
Token autentikasi admin
OPENWEATHER_API_KEY
1acbb4f...
API key OpenWeatherMap
OPENWEATHER_LAT
-6.2
Latitude lokasi pertanian
OPENWEATHER_LON
106.8
Longitude lokasi pertanian
API Endpoints
Info & Health
Method
Endpoint
Keterangan
GET
/
Info aplikasi & daftar endpoint
GET
/health
Health check
GET
/dashboard
Agregat semua data dashboard
GET
/docs
Swagger UI (auto-generated)
Pupuk (AI Recommendation)
Method
Endpoint
Keterangan
GET
/api/pupuk/sensor/status
Status sensor tanah
GET
/api/pupuk/saran-tanaman
Saran tanaman berdasarkan kondisi tanah
GET
/api/pupuk/tanaman/daftar
Daftar tanaman tersedia
POST
/api/pupuk/rekomendasi
Generate rekomendasi pupuk (AI)
POST
/api/pupuk/alur2-saran
Alur saran pupuk alternatif
POST
/api/pupuk/feedback
Feedback rekomendasi
POST
/api/pupuk/reset-sesi
Reset sesi pengujian
GET
/api/pupuk/riwayat
Riwayat rekomendasi pupuk
GET
/api/pupuk/statistik
Statistik penggunaan
GET
/api/pupuk/rekomendasi/:id/pdf
Download PDF rekomendasi
GET
/api/pupuk/riwayat/export/csv
Export riwayat ke CSV
Pestisida (AI Recommendation)
Method
Endpoint
Keterangan
POST
/api/pestisida/rekomendasi
Generate rekomendasi pestisida (AI)
GET
/api/pestisida/hama/daftar
Daftar hama per tanaman
GET
/api/pestisida/riwayat
Riwayat rekomendasi pestisida
POST
/api/pestisida/feedback
Feedback rekomendasi
GET
/api/pestisida/rekomendasi/:id/pdf
Download PDF rekomendasi
GET
/api/pestisida/riwayat/export/csv
Export riwayat ke CSV
Pompa Irigasi
Method
Endpoint
Keterangan
GET
/api/pompa/status
Status pompa saat ini
POST
/api/pompa/manual
Kontrol manual (nyala/mati)
POST
/api/pompa/otomatis
Aktifkan mode otomatis
GET
/api/pompa/konfigurasi
Lihat konfigurasi pompa
PUT
/api/pompa/konfigurasi
Update konfigurasi pompa
GET
/api/pompa/riwayat
Riwayat aktivitas pompa
GET
/api/pompa/jadwal
Daftar jadwal pompa
POST
/api/pompa/jadwal
Tambah jadwal pompa
DELETE
/api/pompa/jadwal/:id
Hapus jadwal
PUT
/api/pompa/jadwal/:id/toggle
Toggle aktif/nonaktif jadwal
GET
/api/pompa/riwayat/export/csv
Export riwayat ke CSV
Cuaca
Method
Endpoint
Keterangan
GET
/api/cuaca/sekarang
Cuaca saat ini
GET
/api/cuaca/prakiraan
Prakiraan cuaca
GET
/api/cuaca/hujan-alert
Peringatan hujan
IoT & WebSocket
Method
Endpoint
Keterangan
POST
/api/iot/sensor
Kirim data sensor dari perangkat IoT
WS
/ws
WebSocket real-time events
GET
/ws/info
Info koneksi WebSocket aktif
Auth
Method
Endpoint
Keterangan
POST
/api/auth/login
Login admin dashboard
Fitur
🌱 Rekomendasi Pupuk (AI)
Analisis kondisi tanah dari sensor (pH, N, P, K)
Rekomendasi pupuk spesifik per tanaman oleh AI (Gemini/Groq)
Detail takaran, waktu, dan metode aplikasi
Download PDF & export CSV riwayat
Feedback rating untuk perbaikan rekomendasi
🐛 Rekomendasi Pestisida (AI)
Identifikasi hama berdasarkan master data
Rekomendasi pestisida berbasis PHT (Pengelolaan Hama Terpadu)
Informasi PHI (Pre-Harvest Interval)
Download PDF & export CSV
💧 Kontrol Pompa Irigasi
Mode otomatis berdasarkan suhu & kelembaban
Kontrol manual on/off via dashboard
Jadwal penyiraman terjadwal (cron)
Konfigurasi threshold suhu & kelembaban
Riwayat lengkap aktivitas pompa
🌤️ Prakiraan Cuaca
Data cuaca real-time (OpenWeatherMap API)
Prakiraan cuaca mendatang
Peringatan hujan otomatis
📡 Real-time Monitoring
WebSocket push semua event ke dashboard
Update sensor, pompa, cuaca secara real-time
Tanpa polling — efisien & instan
🔐 Admin Dashboard
Login dengan autentikasi token
Middleware proteksi route /dashboard
Overview statistik lengkap
Docker Services
Service
Container
Port
Image
Keterangan
db
agroadvisor-db
3306
mysql:8.0
Database MySQL + volume persistent
backend
agroadvisor-backend
8001
Build dari Dockerfile
FastAPI + Uvicorn, auto-create tabel
frontend
agroadvisor-frontend
3000
Build dari Dockerfile
Next.js 16 multi-stage build
Perintah Berguna
# Jalankan semua service (background)
docker compose up -d --build
# Lihat log
docker compose logs -f
docker compose logs -f backend # log backend saja# Restart satu service
docker compose restart backend
# Stop semua
docker compose down
# Stop & hapus volume (reset database)
docker compose down -v
# Masuk ke container MySQL
docker exec -it agroadvisor-db mysql -uroot -p agroadvisor
# Cek health
curl http://localhost:8001/health
Database Schema
Database agroadvisor terdiri dari 10 tabel yang otomatis dibuat saat backend startup:
Tabel
Keterangan
sesi_pengujian
Sesi pengujian tanah aktif
log_sensor
Log data sensor IoT
rekomendasi_pupuk
Hasil rekomendasi AI pupuk
detail_pupuk
Detail item per rekomendasi pupuk
rekomendasi_pestisida
Hasil rekomendasi AI pestisida
detail_pestisida
Detail item per rekomendasi pestisida
feedback_rekomendasi
Rating & feedback pengguna
log_pompa
Riwayat aktivitas pompa
konfigurasi_pompa
Setting threshold pompa (1 row)
jadwal_pompa
Jadwal penyiraman terjadwal
kebutuhan_hara
Master data kebutuhan hara tanaman
master_hama_penyakit
Master data hama & penyakit
Catatan: Tabel dibuat otomatis oleh init_db() di app/database.py. File schema/001_agroadvisor.sql adalah referensi saja.
Lisensi
AgroAdvisor Project
About
Sistem Rekomendasi Pertanian Cerdas Berbasis IoT & AI Platform web full-stack untuk pertanian presisi — mencakup rekomendasi pupuk & pestisida berbasis AI, kontrol irigasi otomatis, monitoring sensor real-time via WebSocket, dan prakiraan cuaca.