init backend presensi
This commit is contained in:
48
docs/SYNC_FOTO_WAJAH.md
Normal file
48
docs/SYNC_FOTO_WAJAH.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 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](https://drive.google.com/drive/folders/16E84NFGYPItaTANQwEyMQW5rkTCt6Asy) — berisi subfolder per kelas (XII-1, XII-2, … XII-12, Susulan).
|
||||
|
||||
## Cara 1: Download manual lalu jalankan script
|
||||
|
||||
1. **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`.
|
||||
|
||||
2. **Konvensi nama file**
|
||||
- Setiap foto **wajib** bernama **NISN** siswa + ekstensi, contoh:
|
||||
- `1234567890.jpg` atau `1234567890.png`
|
||||
- Jika di Drive nama file bukan NISN (misalnya "Budi Santoso.jpg"), rename dulu per file sesuai NISN siswa.
|
||||
|
||||
3. **Jalankan script sync**
|
||||
- Dari **folder backend** (bukan dari scripts):
|
||||
```bash
|
||||
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 |
|
||||
Reference in New Issue
Block a user