Deskripsi produk
Sistem absensi karyawan berbasis web (PWA) yang dilengkapi dengan verifikasi wajah (Face Recognition), validasi lokasi GPS, dan manajemen shift. Dibangun menggunakan PHP Native dengan arsitektur MVC, MySQL, dan Tailwind CSS. Dapat diakses melalui browser desktop maupun di-install sebagai aplikasi di smartphone (Android & iOS). Fitur Utama Absensi- Clock In / Clock Out dengan foto selfie kamera
- Verifikasi wajah otomatis (face-api.js) — wajib cocok untuk absen
- Validasi lokasi GPS — cek radius dari kantor, keterangan otomatis jika di luar lokasi
- Jam digital live saat absen
- Notifikasi sukses/gagal realtime
- Master shift (CRUD) dengan warna dan toleransi keterlambatan per shift
- Assign shift per hari (Senin-Minggu), berlaku berulang setiap minggu
- Jadwal shift visual (tabel karyawan x hari) — klik cell untuk edit langsung
- Support shift overnight (lintas tengah malam)
- Shift default jika karyawan belum dijadwalkan
- Pengajuan izin & sakit oleh karyawan (dengan lampiran)
- Approval / rejection oleh admin dengan alasan
- Otomatis buat record absensi saat izin disetujui
- Riwayat izin untuk karyawan dan admin
- Tingkat kehadiran bulan ini (donut chart persentase)
- Tren kehadiran 30 hari (line chart)
- Rekap bulanan dengan progress bar (Hadir, Terlambat, Absen, Izin, Sakit)
- Ranking karyawan paling rajin dan sering terlambat
- Ringkasan per departemen
- Overview shift hari ini + daftar belum absen
- Rata-rata jam masuk dan counter absen di luar lokasi
- Badge izin pending
- Greeting dinamis (Selamat Pagi/Siang/Sore/Malam)
- Status absensi hari ini dengan durasi kerja realtime
- Jadwal shift 7 hari ke depan
- Riwayat absensi 7 hari terakhir
- Statistik bulanan (Hadir, Terlambat, Izin, Sakit)
- Quick action Clock In / Clock Out
- CRUD karyawan (NIP, nama, departemen, jabatan, email, telepon)
- Buat akun login dengan role (Admin / Employee)
- Reset password (generate otomatis + kirim via email)
- Registrasi wajah (1 foto, face descriptor 128-dimensi)
- Aktivasi / deaktivasi akun
- Sort berdasarkan NIP
- Edit profil (nama, email, telepon, foto)
- Upload foto profil (auto-resize)
- Ubah password dengan strength meter
- Lupa password via email (link reset, expire 1 jam)
- Rate limiting login (lockout setelah 5x gagal)
- Session-based authentication
- Filter: tanggal, departemen, karyawan, status, shift
- Tabel dengan pagination
- Detail rincian per absensi (foto selfie, lokasi Google Maps, face match, catatan)
- Export Excel (PhpSpreadsheet)
- Export PDF (DomPDF)
- Ringkasan per departemen
- Clock In / Clock Out confirmation
- Notifikasi keterlambatan (ke karyawan + admin)
- Notifikasi ketidakhadiran (cron harian)
- Pengajuan izin baru (ke admin)
- Persetujuan / penolakan izin (ke karyawan)
- Akun baru dibuat (welcome email + credentials)
- Laporan absensi bulanan (cron tgl 1)
- Test email configuration
- Email log viewer dengan preview HTML
- Database queue dengan retry & exponential backoff
- Profil perusahaan (nama, logo, alamat, telepon, email, website)
- Tema warna (8 preset + custom color picker + live preview)
- Konfigurasi absensi (shift default, toleransi keterlambatan, jatah cuti, threshold wajah)
- Lokasi kantor (multiple) dengan radius GPS + mini map preview
- Konfigurasi SMTP email
- Toggle fitur (absen di luar radius, perhitungan lembur)
- Info cron jobs dengan copy command
- Install dari browser tanpa Play Store / App Store
- Standalone mode (full screen, tanpa address bar)
- Offline page
- App icons dari logo perusahaan
- iOS safe area support
- Install banner otomatis

