# Rencana Implementasi Poultry Management System (Revisi - PHP Native)

Sesuai dengan feedback yang diberikan, kita akan **menggunakan PHP 8 Native** sepenuhnya dan **tidak menggunakan Laravel**. Skema database juga akan diubah agar **tidak menggunakan satu tabel `ref_codes`**, melainkan menggunakan tabel referensi tersendiri untuk masing-masing entitas agar relasi (Foreign Key) menjadi lebih eksplisit dan langsung.

## Daftar Perubahan yang Akan Dilakukan

### 1. Perbaikan Desain & Arsitektur (Dokumentasi)
- **`poultrysystem-project.md`**: Memastikan seluruh narasi arsitektur mengacu pada PHP 8 Native (misalnya, menghapus referensi ke komponen internal Laravel jika ada).
- **Milestone Plans (`implementation_plan-milestone-x.md`)**: Menyesuaikan dokumen milestone untuk menghapus terminologi spesifik Laravel seperti `migrations`, `seeders`, `controllers`, `Events/Listeners`, dan `routes/api.php`, lalu menggantinya dengan struktur PHP Native (seperti `db_setup.sql`, `api/batch.php`, `cron/iot_listener.php` dll).

### 2. Perubahan Skema Database (`database+seed.sql`)
Kami akan membangun ulang file `database+seed.sql` dengan perubahan meliputi:

#### [NEW] Tabel Referensi Independen (Pengganti `ref_codes`)
- `ref_roles`
- `ref_user_statuses`
- `ref_coop_types`
- `ref_coop_statuses`
- `ref_batch_statuses`
- `ref_egg_grades`
- `ref_sales_types`
- `ref_health_outcomes`
- `ref_item_categories`
- `ref_transaction_types`

#### [NEW] Tabel Entitas yang Hilang
- **`farms`**: Mengelola data peternakan/blok.
- **`warehouses`**: Mengelola data pergudangan per farm.
- **`sensor_logs`**: Tabel log untuk menelan ribuan data aliran dari IoT/ESP32.
- **`financial_ledgers`**: Buku besar untuk pembukuan HPP dan Labar/Rugi.

#### [MODIFY] Tabel Inti (Relasi yang Disempurnakan)
- Memperbarui tabel dasar seperti `users`, `coops`, `batches`, `inventory`, dll agar menggunakan `Foreign Key` yang merujuk langsung pada tabel referensi independen tersebut (misalnya, `coops.status_ref_id` akan merujuk langsung ke `ref_coop_statuses(id)`).
- Menambahkan Data Seeder untuk semua tabel referensi baru tersebut.

## Open Questions

> [!WARNING]
> Struktur folder code untuk PHP Native nanti. Apakah kita akan menggunakan arsitektur MVC manual (misalnya folder `app/models`, `app/views`, `app/controllers` dan `api/`) seperti yang biasa digunakan pada aplikasi PHP Native, ataukah Anda memiliki template starter/struktur folder tertentu yang wajib diikuti?

## Verification Plan
1. Menyelesaikan pembuatan ulang file `database+seed.sql` dan memastikan eksekusi SQL tersebut pada DBMS MySQL berjalan tanpa error relasi (Foreign Key Validations).
2. Memperbarui seluruh dokumen Milestone agar selaras sebelum memulai tahapan *coding*.

> [!IMPORTANT]
> Mohon berikan persetujuan akhir terkait plan perbaikan dokumen dan database ini sebelum saya mengeksekusi perbaikan file-file doc dan SQL yang ada.
