# TODO SekolahKu

## Paket self-hosted PHP 8+ dan SQL

- [x] Source code aplikasi disusun untuk PHP 8+ dengan document root `public/`, konfigurasi `.env`, PDO MySQL/MariaDB, dan `.htaccess`.
- [x] Database disediakan dalam file SQL yang dapat diimpor pada localhost atau hosting mandiri; schema inti non-destruktif berada di `database/sekolahku.sql` dan seed akun demo berada di `database/seed-demo.sql`.
- [x] README instalasi menjelaskan kebutuhan server, import database, konfigurasi, dan cara menjalankan preview/deployment.
- [ ] Menambahkan pengelolaan file upload yang tersimpan di object storage atau filesystem aman untuk produksi.

## Login dan role sekolah

- [x] Tersedia kelompok login Admin Pengelola, Guru, Siswa, dan Orang Tua/Wali.
- [x] Session login memakai cookie aplikasi yang tidak menggunakan nama cookie platform dan mendukung atribut cross-site Preview.
- [x] Otorisasi role dipusatkan di helper auth dan guard tab server-side membatasi akses modul untuk setiap role.
- [ ] Menambahkan reset password, verifikasi email, dan manajemen role dari panel admin.

## Website sekolah dan dashboard

- [x] Dashboard menampilkan ringkasan kehadiran, pembayaran SPP, kelas aktif, dan koleksi buku digital.
- [x] Website/dashboard memiliki navigasi ke Absensi QR, Keuangan SPP, LMS, Perpustakaan, Data Siswa, dan Pengumuman.
- [x] Preview responsif tersedia untuk desktop dan mobile dengan gaya civic editorial.
- [ ] Menambahkan halaman publik profil sekolah, berita, PPDB, kontak, dan galeri yang dikelola admin.

## Absensi berbasis QR code

- [x] Modul absensi QR ditampilkan sebagai modul kerja utama dengan aksi Scan QR dan status kehadiran.
- [x] Schema SQL menyediakan tabel attendance yang dapat menyimpan siswa, tanggal, waktu masuk/pulang, status, dan token QR.
- [ ] Mengimplementasikan generator token QR harian, scanner kamera, validasi radius/waktu, dan rekap per kelas.

## SPP/pembayaran siswa

- [x] Dashboard menampilkan metrik pembayaran SPP dan daftar tindak lanjut pembayaran.
- [x] Schema SQL menyediakan invoices dan payments untuk tagihan per siswa, periode, nominal, status, dan metode bayar.
- [ ] Menambahkan invoice PDF, notifikasi jatuh tempo, webhook payment gateway, dan rekonsiliasi otomatis.

## LMS/e-learning

- [x] Dashboard dan schema menyediakan courses, lessons, assignments, dan submissions sebagai fondasi LMS.
- [x] Role Guru dan Siswa disiapkan di schema untuk akses materi dan tugas.
- [ ] Menambahkan upload materi, penilaian, kuis, forum, dan progres belajar per siswa.

## Perpustakaan digital

- [x] Dashboard menampilkan koleksi buku digital dan schema menyediakan library_books serta peminjaman.
- [ ] Menambahkan katalog pencarian, preview PDF/ePub, peminjaman, denda, dan laporan koleksi.

## Validasi akhir paket

- [ ] Menjalankan lint PHP pada host yang memiliki PHP 8+ dan uji integrasi MySQL.
- [x] Menyertakan ZIP source code + SQL yang siap diunduh dari hasil pekerjaan ini.
