2.1 KiB
2.1 KiB
Sync Foto Wajah dari Google Drive untuk Smart Presensi
Foto wajah siswa dipakai untuk verifikasi wajah di aplikasi mobile (absen masuk/pulang). Foto disimpan di backend: writable/faces/{student_id}.jpg.
Sumber foto
Folder contoh: Foto Siswa Kls XII TP 25-26 — berisi subfolder per kelas (XII-1, XII-2, … XII-12, Susulan).
Cara 1: Download manual lalu jalankan script
-
Download folder dari Google Drive
- Buka folder di Drive, pilih semua subfolder (XII-1 … XII-12), lalu Download (zip).
- Ekstrak ke suatu folder, misalnya
C:\temp\foto-siswa-xii.
-
Konvensi nama file
- Setiap foto wajib bernama NISN siswa + ekstensi, contoh:
1234567890.jpgatau1234567890.png
- Jika di Drive nama file bukan NISN (misalnya "Budi Santoso.jpg"), rename dulu per file sesuai NISN siswa.
- Setiap foto wajib bernama NISN siswa + ekstensi, contoh:
-
Jalankan script sync
- Dari folder backend (bukan dari scripts):
cd c:\laragon\www\sman1\backend php scripts/sync_face_photos.php --source=C:\temp\foto-siswa-xii- Script akan:
- Scan semua subfolder (XII-1, XII-2, dll.),
- Untuk setiap file gambar (.jpg, .jpeg, .png), ambil nama file tanpa ekstensi = NISN,
- Cari siswa di database berdasarkan NISN,
- Copy file ke
writable/faces/{student_id}.jpg.
Cara 2: Upload per siswa lewat dashboard (rencana)
Ke depan bisa ditambah halaman di Pengaturan Academic → Siswa: per siswa ada tombol "Upload foto wajah", simpan ke writable/faces/{student_id}.jpg.
API untuk mobile
- GET
/api/mobile/student/face-photo?student_id=123
Mengembalikan gambar foto wajah siswa (atau 404 jika belum ada).
Dipakai aplikasi mobile untuk memuat foto referensi lalu membandingkan dengan wajah yang terdeteksi kamera (face-api.js).
Ringkas
| Yang diatur | Keterangan |
|---|---|
| Penyimpanan | writable/faces/{student_id}.jpg (atau .png) |
| Mapping | Nama file = NISN → cari siswa → simpan dengan student_id |
| Sumber | Download folder Drive → rename file = NISN → jalankan script sync |