diff --git a/facerecognition_presensi/README.md b/facerecognition_presensi/README.md
index 7a6fc4c..901e020 100644
--- a/facerecognition_presensi/README.md
+++ b/facerecognition_presensi/README.md
@@ -1,116 +1,366 @@
-# Sistem Presensi Pengenalan Wajah
+
-Backend FastAPI + MySQL, website React/Vite, dan aplikasi Android Expo. Pipeline aktif adalah `enhanced` (YuNet, MobileFaceNet, LBPH, FAISS) di `ModelBaru/`. Kode dan model dasar dipertahankan; data mahasiswa, foto enrollment, template biometrik, dan konfigurasi lokal tidak boleh dipublikasikan.
+# 🎯 Sistem Presensi Cerdas Berbasis Pengenalan Wajah & Geofencing
+### *AI-Powered Face Biometric & Geolocation Attendance System*
-## 1. Kebutuhan
+[](https://python.org)
+[](https://fastapi.tiangolo.com)
+[](https://www.mysql.com)
+[](https://react.dev)
+[](https://vitejs.dev)
+[](https://expo.dev)
+[](https://reactnative.dev)
+[](https://pytorch.org)
-- Python **3.10 atau 3.11** (TensorFlow 2.15 tidak mendukung semua versi Python).
-- Node.js **20.19+ atau 22.12+**, npm; MySQL 8.
-- Android Studio/JDK 17 untuk build Android native; perangkat fisik memerlukan akses LAN ke backend.
+
+ Solusi absensi modern, presisi, dan aman yang mengintegrasikan Computer Vision, Deep Learning, deteksi anti-spoofing wajah secara real-time, dan validasi radius lokasi GPS (Geofencing).
+
-## 2. Database dan konfigurasi backend
+[Fitur Utama](#-fitur-utama) •
+[Arsitektur AI](#-arsitektur--pipeline-biometrik) •
+[Struktur Proyek](#-struktur-repositori) •
+[Panduan Instalasi](#-panduan-instalasi--instalasi-cepat) •
+[Dokumentasi API](#-dokumentasi-api) •
+[Keamanan & Privasi](#-keamanan--privasi-data)
-Buat database kosong dan pengguna khusus melalui MySQL (ganti password contoh):
+---
+
+
+
+## 📖 Tentang Proyek
+
+Sistem Presensi Pengenalan Wajah ini dirancang untuk mengatasi kecurangan absensi (*titip absen*, spoofing foto/layar digital) dan mempermudah rekapitulasi data kehadiran akademik secara *real-time*.
+
+Platform ini mengadopsi arsitektur multi-klien:
+1. **Backend API (`FastAPI`)**: Mesin backend asinkron berperforma tinggi yang menangani pipeline Machine Learning, manajemen database, dan otentikasi JWT.
+2. **Web Dashboard (`React 19 + Vite`)**: Panel admin dan dosen untuk manajemen master data akademik, penjadwalan kelas, konfigurasi zona geofencing, hingga rekapitulasi dan ekspor laporan presensi.
+3. **Aplikasi Mobile (`Expo / React Native`)**: Aplikasi mahasiswa untuk melakukan presensi mandiri dengan kamera live dan validasi koordinat GPS di area kelas.
+
+---
+
+## ✨ Fitur Utama
+
+- 👤 **Pipeline Biometrik Wajah Multi-Tahap**:
+ - **Deteksi Wajah**: Menggunakan **YuNet** (ONNX runtime) yang ringan dan sangat akurat menangani berbagai sudut dan pencahayaan.
+ - **Anti-Spoofing (Liveness Detection)**: Menggunakan model **Silent-Face-Anti-Spoofing** (PyTorch) untuk mencegah penipuan presensi menggunakan foto cetak, replika, atau layar gawai.
+ - **Ekstraksi Fitur**: Menggunakan **MobileFaceNet** untuk mengekstrak vektor embedding biometrik berdimensi tinggi.
+ - **Pencarian Cepat & Fusi Skor**: Menggunakan **FAISS Indexing** dan tekstur **LBPH** dengan *Adaptive Score Fusion* untuk verifikasi identitas mahasiswa dalam hitungan milidetik.
+- 📍 **Geofencing & Validasi Lokasi Presisi**:
+ - Penentuan titik lokasi kelas berbasis radius lingkaran atau poligon interaktif menggunakan Leaflet / OpenStreetMap.
+ - Pengecekan koordinat GPS mahasiswa secara *real-time* via Expo Location untuk memastikan mahasiswa berada di ruangan kelas saat presensi dibuka.
+- 🔐 **Autentikasi & Keamanan Ketat**:
+ - Menggunakan JSON Web Token (JWT) berbasis OAuth2 Password Bearer.
+ - Role-based Access Control (Admin, Dosen, Mahasiswa).
+- 📊 **Manajemen Akademik Komprehensif**:
+ - Pengelolaan Program Studi, Angkatan, Golongan, Kelas, Mata Kuliah, Dosen, dan Mahasiswa.
+ - Penjadwalan pertemuan terstruktur, log riwayat deteksi wajah, dan ekspor data presensi ke format Excel (`.xlsx`).
+
+---
+
+## 🧠 Arsitektur & Pipeline Biometrik
+
+```mermaid
+flowchart TD
+ subgraph Client ["📱 Klien (Mobile / Web)"]
+ Cam["📸 Live Camera Feed"]
+ GPS["📍 Real-Time GPS Coordinate"]
+ end
+
+ subgraph BackendGateway ["🛡️ Backend Gateway (FastAPI)"]
+ Auth["OAuth2 / JWT Verification"]
+ GeoCheck{"Validasi Radius Geofencing?"}
+ end
+
+ subgraph AIPipeline ["🧠 AI Pipeline (ModelBaru)"]
+ Det["Face Detection\n(YuNet ONNX)"]
+ AntiSpoof{"Anti-Spoofing Check\n(SilentFace PyTorch)"}
+ Embed["Feature Extraction\n(MobileFaceNet 512-d)"]
+ Match["Vector Similarity Search\n(FAISS + LBPH Score Fusion)"]
+ end
+
+ subgraph Database ["🗄️ Database & Storage"]
+ MySQL[("MySQL 8.0\n20 Tables")]
+ FAISScache[("Vector Cache & Index")]
+ end
+
+ Cam --> Auth
+ GPS --> Auth
+ Auth --> GeoCheck
+ GeoCheck -- "❌ Di luar radius" --> RejectGeo["Tolak: Lokasi di luar batas"]
+ GeoCheck -- "✅ Valid" --> Det
+ Det --> AntiSpoof
+ AntiSpoof -- "❌ Spoofing Terdeteksi" --> RejectSpoof["Tolak: Wajah Tidak Hidup / Fake"]
+ AntiSpoof -- "✅ Real Human" --> Embed
+ Embed --> Match
+ Match <--> FAISScache
+ Match -- "✅ Kecocokan Terpenuhi" --> Record["Simpan Status Hadir"]
+ Record --> MySQL
+```
+
+---
+
+## 🛠️ Tech Stack
+
+| Layer | Teknologi | Deskripsi |
+| :--- | :--- | :--- |
+| **Backend** | Python 3.11, FastAPI, SQLAlchemy, Uvicorn | RESTful API berkecepatan tinggi, ORM terstruktur, OpenAPI auto-docs |
+| **Database** | MySQL 8.0 | Penyimpanan relasional terindeks untuk data akademik dan transaksi presensi |
+| **AI / Computer Vision** | OpenCV, ONNX Runtime, PyTorch, FAISS | YuNet (Detection), MobileFaceNet (Embedding), SilentFaceAntiSpoofing (Liveness) |
+| **Web Dashboard** | React 19, Vite, Tailwind CSS, React-Leaflet | Antarmuka web responsif dengan visualisasi peta geofencing dan tabel interaktif |
+| **Aplikasi Mobile** | React Native, Expo SDK 54, Expo Router, Expo Camera | Aplikasi mobile Android dengan akses kamera native dan sensor GPS berakurasi tinggi |
+
+---
+
+## 📂 Struktur Repositori
+
+```text
+facerecognition_presensi/
+├── backend/ # REST API FastAPI & Manajemen Database
+│ ├── app/
+│ │ ├── config/ # Konfigurasi aplikasi & database
+│ │ ├── controllers/ # Logika bisnis dan handler
+│ │ ├── models/ # Definisi model tabel SQLAlchemy (20 tabel)
+│ │ ├── routes/ # Router endpoint modular (auth, presensi, dll.)
+│ │ ├── schemas/ # Skema validasi Pydantic
+│ │ └── services/ # Layanan biometrik, geolokasi, & token
+│ ├── init_db.py # Inisialisasi skema tabel database
+│ ├── seed.py # Pembuatan akun Super Admin interaktif
+│ ├── requirements.txt # Dependensi pustaka Python
+│ └── .env.example # Contoh variabel lingkungan backend
+├── ModelBaru/ # Core AI Pipeline (YuNet, MobileFaceNet, FAISS)
+│ ├── models/ # Model bobot ONNX (YuNet, MobileFaceNet)
+│ ├── resources/ # Model bobot PyTorch Anti-Spoofing
+│ ├── enhanced_system.py # Koordinator sistem biometrik terpadu
+│ ├── anti_spoof_manager.py # Modul deteksi liveness / anti-spoof
+│ └── faiss_gallery.py # Pengindeksan & pencarian vektor embedding
+├── SilentFaceAntiSpoofing/ # Pustaka pendukung deteksi anti-spoofing
+├── Website/ # Web Dashboard Admin & Dosen
+│ ├── src/ # Komponen UI, Halaman, dan Konfigurasi Route
+│ ├── package.json # Dependensi frontend React 19 & Tailwind
+│ └── .env.example # Contoh variabel lingkungan frontend
+└── AndroidFolder/ # Aplikasi Mobile Mahasiswa
+ ├── app/ # Routing navigasi (Expo Router)
+ ├── package.json # Dependensi Expo SDK 54 & React Native
+ └── .env.example # Contoh konfigurasi URL API mobile
+```
+
+---
+
+## 🚀 Panduan Instalasi & Menjalankan Sistem
+
+### 📋 Prasyarat Sistem
+Pastikan perangkat Anda telah terpasang:
+- **Python**: Versi `3.10` atau `3.11` *(Disarankan 3.11 untuk kompatibilitas ONNX/TensorFlow)*
+- **Node.js**: Versi `20.19+` atau `22.12+` dan npm
+- **Database**: MySQL Server 8.x aktif
+- **Mobile Development**: Expo Go pada perangkat Android fisik atau Android Studio Emulator
+
+---
+
+### 1️⃣ Konfigurasi Database (MySQL)
+
+Buka MySQL Client / phpMyAdmin / DBeaver, lalu buat database dan pengguna khusus:
```sql
CREATE DATABASE skripsi_presensi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-CREATE USER 'presensi_app'@'localhost' IDENTIFIED BY 'GANTI_PASSWORD_DATABASE';
+CREATE USER 'presensi_app'@'localhost' IDENTIFIED BY 'PasswordKuatAnda123!';
GRANT ALL PRIVILEGES ON skripsi_presensi.* TO 'presensi_app'@'localhost';
+FLUSH PRIVILEGES;
```
-Dari PowerShell di root proyek:
+---
+
+### 2️⃣ Konfigurasi & Menjalankan Backend
+
+Buka terminal PowerShell pada direktori root proyek:
```powershell
+# 1. Masuk ke folder backend
cd backend
+
+# 2. Buat virtual environment Python 3.11
py -3.11 -m venv venv
.\venv\Scripts\Activate.ps1
+
+# 3. Perbarui pip dan pasang pustaka
python -m pip install --upgrade pip
pip install -r requirements.txt
+
+# 4. Buat file .env dari template
Copy-Item .env.example .env
-python -c "import secrets; print(secrets.token_hex(32))"
```
-Edit `backend/.env`: isi DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME dan salin hasil generator ke SECRET_KEY. Kunci minimal 32 karakter; buat kunci berbeda untuk setiap deployment. DEBUG=false. Jangan unggah `.env`. Nilai password dengan `#` atau spasi dapat diapit tanda kutip. URL database dibentuk otomatis dan mendukung karakter khusus pada password.
+Buka dan sesuaikan file `backend/.env`:
+```env
+DB_HOST=localhost
+DB_PORT=3306
+DB_USER=presensi_app
+DB_PASSWORD=PasswordKuatAnda123!
+DB_NAME=skripsi_presensi
-FACE_MODEL_TYPE=enhanced adalah pipeline yang didukung paket ini. PRELOAD_ML_MODEL=false memuat ML saat pertama dipakai; ubah menjadi true bila ingin mencoba memuatnya saat startup. UPLOAD_DIR dan DATASET_DIR bersifat relatif terhadap folder backend: jalankan server dari folder tersebut.
+# Generate secret key dengan: python -c "import secrets; print(secrets.token_hex(32))"
+SECRET_KEY=masukkan_secret_key_acak_minimal_32_karakter_disini
+ALGORITHM=HS256
+ACCESS_TOKEN_EXPIRE_MINUTES=60
-## 3. Membuat tabel dan admin
-
-Untuk **database baru/kosong**:
+DEBUG=false
+FACE_MODEL_TYPE=enhanced
+PRELOAD_ML_MODEL=false
+UPLOAD_DIR=uploads
+DATASET_DIR=datasets
+```
+Inisialisasi tabel database dan buat akun Admin pertama:
```powershell
+# Inisialisasi 20 tabel database otomatis
python init_db.py
+
+# Buat akun Admin utama secara interaktif
python seed.py
-uvicorn app.main:app --host 0.0.0.0 --port 8000
+
+# Jalankan server FastAPI
+uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```
+> 🌐 **Backend aktif di**: `http://localhost:8000`
+> 📑 **Dokumentasi Swagger API**: `http://localhost:8000/api/docs`
+> 💓 **Health Check**: `http://localhost:8000/api/health`
-`seed.py` meminta nama, email, dan password admin secara interaktif; tidak ada akun/password bawaan. API: http://localhost:8000/api/docs. Health: http://localhost:8000/api/health.
+---
-`init_db.py` membuat 20 tabel melalui model SQLAlchemy: users, prodi, dosen, matakuliah, angkatan, golongan, geolokasi, mahasiswa, kelas, penawaran_matakuliah, penawaran_kelas, pengajar, jadwal, pertemuan, pengajar_pertemuan, dataset_wajah, registrasi_wajah, presensi, log_deteksi, history_presensi. Tidak perlu mengimpor dump SQL atau data mahasiswa asli. Startup backend juga membuat tabel yang belum ada.
+### 3️⃣ Menjalankan Web Dashboard (React + Vite)
-### Database lama
-
-Cadangkan database dahulu. `create_all` **tidak memperbarui kolom pada tabel lama**. Skrip berikut adalah patch historis, bukan rangkaian migrasi lengkap untuk semua versi:
-
-| Skrip | Kegunaan |
-| --- | --- |
-| migrate_kelas_mahasiswa.py | Menambah mahasiswa.id_kelas dan relasi kelas jika kolom belum ada |
-| migrate_pertemuan.py | Menambah geolokasi dan pertemuan.id_geolokasi/mode_lokasi jika belum ada |
-| migrate_fk_cascade.py | Mengubah tiga foreign key akademik menjadi ON DELETE CASCADE |
-| migrate.py | **Menghapus semua tabel dan membuat ulang; jangan dipakai untuk instalasi normal** |
-
-Untuk repo bersih, gunakan database baru + init_db.py. Untuk upgrade database lama, cocokkan skema terhadap model sebelum menjalankan patch; patch tersebut tidak menjamin seluruh perubahan ant versi tercakup.
-
-## 4. Website
-
-Buka terminal baru dari root:
+Buka terminal baru dari root direktori proyek:
```powershell
cd Website
+
+# Pasang dependensi
npm ci
+
+# Siapkan file environment
Copy-Item .env.example .env
-npm run dev
```
-`VITE_API_BASE_URL=http://localhost:8000/api/v1`; sesuaikan host jika backend berada di komputer lain. Ikuti alamat yang ditampilkan Vite. Build: `npm run build`. Semua nilai VITE_* terlihat oleh pengguna browser; jangan taruh rahasia di sini.
+Pastikan isi `Website/.env` mengarah ke backend Anda:
+```env
+VITE_API_BASE_URL=http://localhost:8000/api/v1
+```
-## 5. Android
+Jalankan server pengembangan:
+```powershell
+npm run dev
+```
+> 💻 Akses dashboard melalui browser pada tautan lokal yang ditampilkan Vite (biasanya `http://localhost:5173`).
+
+---
+
+### 4️⃣ Menjalankan Aplikasi Mobile (Expo / Android)
+
+Buka terminal baru dari root direktori proyek:
```powershell
cd AndroidFolder
+
+# Pasang dependensi
npm ci
+
+# Siapkan file environment
Copy-Item .env.example .env
+```
+
+Edit file `AndroidFolder/.env`:
+- **Jika menggunakan Android Emulator**:
+ ```env
+ EXPO_PUBLIC_API_URL=http://10.0.2.2:8000
+ ```
+- **Jika menggunakan Perangkat HP Fisik (Expo Go)**:
+ ```env
+ EXPO_PUBLIC_API_URL=http://192.168.x.x:8000
+ ```
+ *(Ganti `192.168.x.x` dengan alamat IPv4 LAN komputer Anda yang satu jaringan Wi-Fi dengan HP)*.
+
+Mulai aplikasi Expo:
+```powershell
npm start
```
+Scan QR code yang muncul di terminal menggunakan aplikasi **Expo Go** pada smartphone Android Anda.
-Isi EXPO_PUBLIC_API_URL tanpa `/api/v1`: emulator Android memakai `http://10.0.2.2:8000`; perangkat fisik memakai `http://IP_LAN_KOMPUTER:8000`. Restart Expo setelah mengubah `.env`. EXPO_PUBLIC_* bersifat publik. Untuk build native lokal, jalankan `npm run android` setelah Android Studio/JDK siap. Keystore debug hanya untuk pengembangan; build rilis harus memakai signing key pribadi di luar repositori.
+---
-## 6. Model wajah dan penggunaan pertama
+## 🧭 Alur Kerja Penggunaan Pertama Kali
-Model dasar yang diperlukan dipertahankan di:
-
-- ModelBaru/models/face_detection_yunet_2023mar.onnx
-- ModelBaru/models/mobilefacenet.onnx
-- ModelBaru/resources/anti_spoof_models/*.pth
-- SilentFaceAntiSpoofing/resources/ (model anti-spoof dan deteksi beserta kode serta lisensinya)
-
-Jangan menghapus bobot tersebut seperti menghapus foto dataset. Model dasar berbeda dari template/embedding identitas mahasiswa. Sebelum distribusi publik, pastikan hak distribusi bobot pihak ketiga sesuai sumbernya; asal dan lisensi MobileFaceNet lokal belum terverifikasi.
-
-Mulai dengan membuat data master (prodi, angkatan, golongan, kelas), dosen/mahasiswa dan jadwal lewat UI/API. Daftarkan foto wajah baru milik pengguna yang berwenang lewat fitur enrollment. Gallery awal kosong sehingga pengenalan belum dapat mengidentifikasi siapa pun sebelum enrollment. Template `face_metadata.pkl`, foto `face_mahasiswa/`, uploads dan datasets dibuat ulang saat penggunaan dan diabaikan Git. Hasil kalibrasi lama dibuang; kalibrasikan threshold pada data evaluasi sendiri bila diperlukan.
-
-## 7. Sebelum mengunggah ke GitHub
-
-`.gitignore` mengecualikan konfigurasi lokal, dataset, template biometrik, dependensi, dan hasil build. Jangan memakai `git add -f` untuk file-file tersebut. Folder ini belum memiliki repositori Git root yang valid; buat repositori baru setelah pembersihan:
-
-```powershell
-git init
-git add .
-git status --short
-git diff --cached --stat
+```text
+1. Login Admin di Web Dashboard
+ └── Buat data master: Program Studi, Angkatan, Golongan, Kelas, Dosen, Mahasiswa.
+ │
+2. Pendaftaran Wajah (Enrollment)
+ └── Ambil/unggah foto wajah mahasiswa berwenang untuk membentuk template embedding biometrik.
+ │
+3. Konfigurasi Jadwal & Pertemuan
+ └── Tentukan lokasi kelas (titik koordinat & radius geofence) dan buka sesi pertemuan.
+ │
+4. Presensi Mandiri Mahasiswa (Mobile)
+ └── Mahasiswa membuka aplikasi -> Verifikasi lokasi GPS -> Pindai wajah (Liveness + Face Match).
+ │
+5. Rekapitulasi & Monitoring
+ └── Admin/Dosen memantau data kehadiran live dan dapat mengunduh rekapitulasi nilai presensi ke Excel.
```
-Periksa daftar sebelum commit: tidak boleh ada `.env` selain `.env.example`, foto mahasiswa, dump database, token, private key, atau file template identitas. Lalu commit dan tambahkan remote repo GitHub milik Anda. Jangan mendorong riwayat repo lama yang pernah menyimpan rahasia. Jika rahasia pernah dipublikasikan, ganti rahasianya; menghapus file terbaru saja tidak menghapusnya dari riwayat.
+---
-## Batas verifikasi
+## 📡 Ringkasan Endpoint API
-Lihat CLEANUP_REPORT.md untuk hasil pemeriksaan aktual. Backend yang dapat diimpor atau halaman health yang sukses belum membuktikan koneksi MySQL, login, kamera, enrollment dan presensi berhasil. Uji alur lengkap dengan database dan perangkat Anda sebelum penggunaan nyata.
+Dokumentasi lengkap dan interaktif dapat diuji langsung melalui Swagger UI di `http://localhost:8000/api/docs`.
+
+| Modul | Method | Endpoint | Deskripsi |
+| :--- | :---: | :--- | :--- |
+| **Auth** | `POST` | `/api/v1/auth/login` | Otentikasi pengguna & generate JWT bearer token |
+| **Akademik** | `GET/POST` | `/api/v1/mahasiswa/` | Manajemen data mahasiswa |
+| | `GET/POST` | `/api/v1/dosen/` | Manajemen data dosen |
+| | `GET/POST` | `/api/v1/jadwal/` | Penjadwalan mata kuliah & kelas |
+| **Geolokasi** | `GET/POST` | `/api/v1/geolokasi/` | Konfigurasi koordinat dan radius geofencing |
+| **Biometrik** | `POST` | `/api/v1/enhanced-recognition/recognize` | Presensi wajah dengan YuNet + Anti-Spoofing + FAISS |
+| | `POST` | `/api/v1/arcface-enrollment/enroll` | Pendaftaran sampel wajah mahasiswa baru |
+| **Presensi** | `POST` | `/api/v1/presensi/` | Pencatatan transaksi presensi mahasiswa |
+| | `GET` | `/api/v1/history-presensi/` | Riwayat dan log deteksi presensi |
+
+---
+
+## 🗄️ Skema Database
+
+Skrip `init_db.py` secara otomatis menginisialisasi 20 tabel relasional yang saling terhubung:
+
+| Kategori | Tabel-tabel Terkait |
+| :--- | :--- |
+| **Otentikasi & Akun** | `users` |
+| **Struktur Akademik** | `prodi`, `angkatan`, `golongan`, `kelas`, `matakuliah` |
+| **Sivitas Akademika** | `dosen`, `mahasiswa` |
+| **Kurikulum & Kelas** | `penawaran_matakuliah`, `penawaran_kelas`, `pengajar` |
+| **Perkuliahan & Jadwal** | `geolokasi`, `jadwal`, `pertemuan`, `pengajar_pertemuan` |
+| **Biometrik Wajah** | `dataset_wajah`, `registrasi_wajah`, `log_deteksi` |
+| **Presensi & Rekap** | `presensi`, `history_presensi` |
+
+---
+
+## 🔒 Keamanan & Privasi Data
+
+- 🛑 **Jangan Unggah Data Pribadi**: File foto wajah mahasiswa, database dump produksi, dan file cache embedding (`face_metadata.pkl`, `face_mahasiswa/`, `uploads/`, `datasets/`) sudah masuk ke dalam `.gitignore`.
+- 🔑 **Kerahasiaan Kunci (.env)**: Selalu gunakan nilai acak `SECRET_KEY` yang unik pada setiap instalasi server. Jangan pernah commit file `.env`.
+- 🛡️ **Proteksi Liveness**: Algoritma anti-spoofing aktif secara otomatis menolak masukan gambar dari layar smartphone, tablet, atau kertas foto cetak untuk mencegah kecurangan absensi.
+
+---
+
+## 📄 Lisensi & Kredit
+
+Proyek ini dikembangkan untuk kebutuhan riset dan sistem presensi akademik.
+
+- **Deteksi Wajah**: [OpenCV Zoo YuNet](https://github.com/opencv/opencv_zoo/tree/master/models/face_detection_yunet)
+- **Anti-Spoofing**: [Silent-Face-Anti-Spoofing](https://github.com/minivision-ai/Silent-Face-Anti-Spoofing)
+- **Pengenalan Wajah**: [MobileFaceNet](https://github.com/sirius-ai/MobileFaceNet_TF)
+- **Vector Search**: [FAISS - Meta Research](https://github.com/facebookresearch/faiss)
+
+---
+
+