MAJOR UPDATES:
1. Auth & Security (Login):
- Fix User Model (unguard attributes for Role assignment).
- Fix WaliMuridController (Transaction & Role 'wali_murid').
- Implement Web Login Protection (Block 'wali_murid' access to Web Dashboard).
- Fix Error "Column not found" on user creation.
2. Laporan Perkembangan (Features):
- Implement/Update fitur Catatan Anekdot.
- Implement/Update fitur Hasil Karya.
- Implement/Update fitur Ceklis Capaian.
3. General UI/UX:
- Update Dashboard layout & logic.
- Update fitur Pengumuman (CRUD & View).
- Fix minor bugs on Admin Panel.
### ✅ YANG SUDAH BERES (DONE)
1. **Data Peserta Didik (Data Master)**
* Database `siswas`: Sudah fix (Ada `NIS`, `NISN`, Hapus `alamat` & `tahun_masuk`).
* CRUD Siswa: Form tambah & edit sudah sinkron dengan database baru.
* Tampilan Tabel: Alamat siswa sudah otomatis ambil dari data Wali Murid.
2. **Laporan Perkembangan (Fitur Utama)**
* **Konsep:** Menu Rapot digabung ke dalam "Laporan Perkembangan".
* **Tampilan Detail Siswa:** Ada 2 bagian (Atas: Monitoring Harian, Bawah: Riwayat Rapot Semester).
* **Tombol Data Harian:** Sudah menampilkan jumlah data (Anekdot, Karya, Ceklis).
3. **Fitur Input Rapot (Formulir)**
* Database `rapots`: Sudah dibuat tabel lengkap sesuai PDF (Narasi A-E, Fisik, Kehadiran, TTD).
* Form Input: Sudah dibuat urut A-E + Kokurikuler.
* **Dropdown Guru:** Input nama guru sudah mengambil data real dari tabel `guru` (bukan ngetik manual lagi).
4. **Fitur Lihat/Cetak Rapot (Preview)**
* **Tampilan Kertas A4:** Sudah dibuat mirip PDF asli (Font Times New Roman, Ada Bingkai/Border Ganda).
* **Struktur:** Sudah ada Kop Surat PAUD, Tabel Identitas, Isi Narasi, Tabel Fisik & Absensi.
* **Tanda Tangan:** Sudah berjejer 3 kolom (Ortu - Kepsek - Guru Kelas).
* **Print:** Tombol cetak sudah jalan (pakai fitur bawaan browser `window.print()`).
---
### 📝 YANG BELUM / PERLU DILANJUTKAN (TO-DO LIST)
1. **Input Data Harian (Anekdot, Hasil Karya, Ceklis)**
* Kita baru bikin *tombolnya* saja di halaman detail siswa. Form input untuk mengisi data-data ini belum kita sentuh hari ini.
2. **User & Role Guru**
* Kita sudah siapkan logic menu Admin vs Guru.
* **PR:** Memastikan akun Login Guru terhubung dengan Data Guru (biar nanti pas guru login, sistem tahu dia guru kelas mana). Saat ini kolom `user_id` di tabel `guru` masih banyak yang NULL.
3. **Penjemputan**
* Menu ini ada di sidebar tapi belum kita bahas fungsinya.
🟢 Dashboard & Master Data (Selesai/Hampir Selesai)
[x] Data Guru: (Tambah, Edit, Hapus) — Sudah ada di GuruController.
[x] Data Wali Murid: (Tambah, Edit, Hapus) — Sudah ada di database.
[x] Data Siswa: (Relasi ke Wali & Kelas) — Sudah ada di database.
[x] Manajemen Kelas: (Gatotkaca, dll).
🟠 Fitur Monitoring (Laporan & Penjemputan)
Ini adalah fitur yang datanya datang dari Mobile, tapi Admin harus bisa lihat:
[ ] Monitoring Laporan Perkembangan:
Tampilan List Laporan (sudah dibuatkan kodenya tadi).
Fungsi Hapus (untuk moderasi data).
Note: Di web tidak ada tombol "Tambah", karena itu tugas Guru di HP.
[ ] Monitoring Log Penjemputan:
Tampilan Log real-time (jam jemput, siapa yang jemput).
Filter berdasarkan "Hari Ini" (supaya tidak menumpuk).
Tombol input manual (untuk jaga-jaga kalau Wali lupa bawa HP).
🔴 Fitur Sistem & Akun (Wajib Ada)
Tanpa ini, Guru dan Wali tidak bisa login ke aplikasi Flutter:
[ ] User Account Generator:
Setiap Guru dan Wali harus punya baris di tabel users.
(Gunakan Seeder yang saya kasih tadi untuk membuatkan akun masal).
[ ] Role Management:
Memastikan siapa yang admin, siapa yang guru, siapa yang wali.
[ ] API Authentication (Sanctum):
"Pintu" agar Flutter bisa login (sudah saya kasih kodenya di AuthController).
📋 Ringkasan File yang Belum Kamu Buat/Cek:
View Log Penjemputan: resources/views/admin/penjemputan/index.blade.php (tadi sempat tertunda).
API Routes: routes/api.php (untuk koneksi Flutter).
Seeder Akun: database/seeders/UserGeneratorSeeder.php (supaya ada akun buat ngetes login di HP).
Saran saya: Pastikan kamu sudah membuat View Log Penjemputan (Langkah terakhir di chat sebelumnya) supaya tampilan Web-mu tidak ada yang kurang saat didemokan.