Enhance AI Insight with new state management and PDF export functionality. Added selectedArea state to App for better context in reports. Introduced new markdown files for documentation on AI Insight improvements and setup instructions. Updated package dependencies and fixed TypeScript errors for improved stability.
CI / lint-and-test (push) Canceled after 0s
CI / lint-and-test (push) Canceled after 0s
This commit is contained in:
1 parent
a8b49374f1
commit
2a627a2c3f
84 files changed
+8415
-2692
No files matched your search
@@ -28,6 +28,9 @@ Dashboard monitoring dan manajemen peternakan ayam berbasis web dengan integrasi
|
||||
- **Standar Performa**: Perbandingan dengan standar Cobb
|
||||
- **Penjadwalan Pakan**: Rekomendasi jadwal pemberian pakan
|
||||
- **Feed Wastage**: Monitoring pemborosan pakan
|
||||
- **AI Insight**: Analisis otomatis per topik (hitung ayam, berat, FCR, EEF, panel IoT,
|
||||
karung pakan) memakai LLM lokal + RAG buku standar CP 707. Tiap kartu punya toggle
|
||||
Harian/Mingguan, grafik pendukung, dan ekspor PDF berlabel lokasi & periode
|
||||
- **Behavior Analysis**: Analisis perilaku ayam dengan AI
|
||||
- **Network Monitoring**: Status koneksi IoT devices
|
||||
- **ERP Integration**: Sinkronisasi dengan sistem ERP
|
||||
@@ -36,7 +39,9 @@ Dashboard monitoring dan manajemen peternakan ayam berbasis web dengan integrasi
|
||||
|
||||
- **Database**: PostgreSQL untuk penyimpanan data siklus dan mortalitas
|
||||
- **RESTful API**: Endpoint untuk CRUD operations
|
||||
- **Auto-seeding**: Database otomatis terisi data awal saat pertama kali dijalankan
|
||||
- **Migrasi otomatis**: Skema dan migrasi dijalankan sendiri saat backend start
|
||||
- **Data TIDAK terisi otomatis**: tabel dibuat kosong. Isi dengan `backup.sql`
|
||||
(lihat [SETUP.md](SETUP.md)) — tanpa itu dashboard terbuka tanpa data sama sekali
|
||||
- **Persistent Storage**: Semua perubahan data tersimpan permanen
|
||||
|
||||
## 🛠 Teknologi
|
||||
@@ -55,10 +60,17 @@ Dashboard monitoring dan manajemen peternakan ayam berbasis web dengan integrasi
|
||||
- **PostgreSQL** (pg) - Database
|
||||
- **CORS** - Cross-origin support
|
||||
|
||||
### AI
|
||||
|
||||
- **Ollama** - LLM lokal (default `qwen2.5:7b`, ~5 GB)
|
||||
- **Python + FastAPI** - layanan RAG di folder `AI Insight/`
|
||||
- **ChromaDB** - penyimpanan vektor buku standar CP 707
|
||||
|
||||
### Deployment
|
||||
|
||||
- **Docker** - Containerization
|
||||
- **Docker Compose** - Multi-container orchestration (3 containers: frontend, backend, database)
|
||||
- **Docker Compose** - Orkestrasi 6 service: `database`, `backend`, `frontend`, `rag`,
|
||||
`llm` (Ollama), dan `llm-model-downloader`
|
||||
- **Nginx** - Reverse proxy & static file serving
|
||||
- **PostgreSQL** - Database container
|
||||
|
||||
@@ -66,16 +78,16 @@ Dashboard monitoring dan manajemen peternakan ayam berbasis web dengan integrasi
|
||||
|
||||
### Docker Deployment (Recommended for Production)
|
||||
|
||||
Deploy dengan 3 container (frontend + backend + PostgreSQL database) menggunakan Docker Compose:
|
||||
Deploy dengan Docker Compose:
|
||||
|
||||
```bash
|
||||
# Quick start
|
||||
docker-compose up -d --build
|
||||
|
||||
# Access application
|
||||
http://your-server-ip
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
Di mode Docker penuh, frontend disajikan Nginx di **port 5002**, backend di 15001,
|
||||
dan RAG di 5005 — berbeda dari mode pengembangan native. Jangan menjalankan kedua
|
||||
mode bersamaan; keduanya berebut port yang sama.
|
||||
|
||||
**Keuntungan Docker:**
|
||||
|
||||
- ✅ Easy deployment dan scaling
|
||||
@@ -86,7 +98,9 @@ http://your-server-ip
|
||||
|
||||
**📚 Complete Docker Guide:** [DOCKER.md](DOCKER.md)
|
||||
|
||||
**Local Postgres / sync from server / DBeaver:** [docs/LOCAL_DATABASE_GUIDE.md](docs/LOCAL_DATABASE_GUIDE.md)
|
||||
**Setup dari nol sampai jalan:** [SETUP.md](SETUP.md)
|
||||
|
||||
**Catatan teknis & pekerjaan yang masih terbuka:** [CATATAN-LANJUTAN.md](CATATAN-LANJUTAN.md)
|
||||
|
||||
### Manual Deployment
|
||||
|
||||
@@ -98,20 +112,30 @@ Untuk development atau testing lokal, lihat [Instalasi](#instalasi) dan [Cara Me
|
||||
|
||||
- **Docker**: v20.10+
|
||||
- **Docker Compose**: v2.0+
|
||||
- **RAM**: Minimum 2GB
|
||||
- **Disk**: 10GB free space
|
||||
- **Port**: 80 (frontend)
|
||||
- **RAM**: minimum 8GB (model LLM berjalan di CPU)
|
||||
- **Disk**: 15GB free space — model `qwen2.5:7b` saja ~5GB
|
||||
- **Port**: 5002 (frontend), 15001 (backend), 15432 (Postgres), 11434 (Ollama), 5005 (RAG)
|
||||
|
||||
### Untuk Manual Installation
|
||||
|
||||
- **Node.js**: v18.0.0 atau lebih tinggi
|
||||
- **npm**: v9.0.0 atau lebih tinggi
|
||||
- **Python**: v3.10+ — untuk layanan RAG
|
||||
- **Docker**: tetap dibutuhkan untuk PostgreSQL dan Ollama
|
||||
- **Port yang tersedia**:
|
||||
- Frontend: 3001 (atau port lain jika 3001 terpakai)
|
||||
- Frontend: 3000, mundur ke 3001/3002/… bila terpakai
|
||||
- Backend: 5001
|
||||
- RAG: 5002
|
||||
- PostgreSQL: **15432** (bukan 5432 — dipetakan begitu agar tidak bentrok)
|
||||
- Ollama: 11434
|
||||
|
||||
## 💿 Instalasi
|
||||
|
||||
> **Panduan lengkap dan berurutan ada di [SETUP.md](SETUP.md).** Bagian di bawah ini
|
||||
> hanya memasang dependensi JavaScript. Aplikasi belum bisa jalan hanya dengan ini —
|
||||
> masih perlu file `.env`, container PostgreSQL dan Ollama, model LLM, dependensi
|
||||
> Python untuk RAG, serta pengisian database dari `backup.sql`.
|
||||
|
||||
### 1. Clone Repository
|
||||
|
||||
```bash
|
||||
@@ -135,6 +159,17 @@ cd ..
|
||||
|
||||
## ▶️ Cara Menjalankan
|
||||
|
||||
> Menjalankan backend dan frontend saja **tidak cukup** — AI Insight butuh layanan
|
||||
> RAG (port 5002) dan Ollama (port 11434) ikut hidup. Cara termudah:
|
||||
>
|
||||
> ```bash
|
||||
> docker compose up -d database llm # PostgreSQL + Ollama
|
||||
> bash start_all.sh # RAG + backend + frontend sekaligus
|
||||
> ```
|
||||
>
|
||||
> `start_all.sh` menampilkan alamat frontend yang benar-benar dipakai di akhir
|
||||
> keluarannya. Bukalah alamat itu, jangan diasumsikan.
|
||||
|
||||
### Opsi 1: Menjalankan Secara Manual (Recommended untuk Development)
|
||||
|
||||
#### Terminal 1 - Backend Server
|
||||
@@ -166,7 +201,9 @@ API Endpoints:
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Frontend akan berjalan di: **http://localhost:3001** (atau port lain jika terpakai)
|
||||
Frontend akan berjalan di: **http://localhost:3000** — atau 3001, 3002, dan seterusnya
|
||||
kalau port itu sedang dipakai proses lain. Backend menerima port localhost mana pun
|
||||
saat `NODE_ENV=development`, jadi berapa pun portnya aplikasi tetap jalan.
|
||||
|
||||
Output yang diharapkan:
|
||||
|
||||
@@ -231,7 +268,11 @@ dashboard-solusi-ai-peternakan-ayam/
|
||||
├── mockData/ # Mock data for demo mode
|
||||
├── types/ # TypeScript type definitions
|
||||
├── public/ # Static assets
|
||||
├── docker-compose.yml # 3-container orchestration
|
||||
├── AI Insight/ # Layanan RAG (Python) + ChromaDB + dokumen CP 707
|
||||
├── SETUP.md # Panduan setup dari nol
|
||||
├── start_all.sh # Menyalakan RAG + backend + frontend
|
||||
├── backup.sql # Data awal — WAJIB di-restore, tidak otomatis
|
||||
├── docker-compose.yml # Orkestrasi 6 service
|
||||
├── package.json
|
||||
└── README.md
|
||||
```
|
||||
@@ -626,9 +667,10 @@ curl http://localhost:5001/api/mortality/CYCLE-JBW-2025-12-10
|
||||
- ✅ CRUD Cycles
|
||||
- ✅ CRUD Mortality Records
|
||||
- ✅ Frontend-Backend Integration
|
||||
- ✅ Auto-seeding Data
|
||||
- ✅ Data Persistence
|
||||
- ✅ Docker Deployment (3-container architecture)
|
||||
- ✅ AI Insight per topik dengan LLM lokal + RAG CP 707
|
||||
- ✅ Ekspor PDF berlabel lokasi, kandang, dan periode
|
||||
- ✅ Docker Deployment (6 service)
|
||||
- ✅ Database Backup & Restore Scripts
|
||||
- ⏳ User Authentication (coming soon)
|
||||
- ⏳ Real-time WebSocket (coming soon)
|
||||
|
||||
Reference in new issue
Block a user