Skip to content

Roadmap: WhatsApp notifikasi, mobile app, izin/cuti, SSO, dan peningkatan operasional #5

Description

@CodinginID

Latar Belakang

Netra sudah memiliki core face-recognition attendance yang solid (multi-tenant, auto-scan kiosk, jadwal fleksibel, self-enrollment, dashboard live, tren 7 hari). Issue ini mendokumentasikan backlog fitur berikutnya berdasarkan roadmap produk.


🔔 Integrasi WhatsApp Notifikasi

Priority: High — nice-to-have yang sering diminta untuk institusi di Indonesia.

  • Kirim notifikasi WhatsApp ke karyawan/siswa saat check-in berhasil
  • Alert ke supervisor jika ada karyawan yang belum absen setelah jam tertentu
  • Laporan harian otomatis ke group WhatsApp admin
  • Implementasi via WhatsApp Business API (360dialog / Twilio) atau WABA langsung
  • Backend: notification_service.py + POST /webhooks/whatsapp
  • Konfigurasi per-tenant: nomor pengirim, template pesan, jam kirim notifikasi

📱 Aplikasi Mobile (PWA → Native)

  • Saat ini sudah PWA (installable), tapi belum ada push notification native
  • Pertimbangkan React Native atau Capacitor untuk wrapper mobile
  • Fitur: kamera native, GPS geofence yang lebih akurat, offline mode

🗓️ Manajemen Izin & Cuti

  • Tabel leave_requests + leave_types (sakit, cuti tahunan, izin mendadak)
  • Alur approval: pengajuan → supervisor → HR
  • Integrasi ke status kehadiran: hari izin tidak dihitung alpa
  • Kalender izin di dashboard

🔄 Shift Rotation Scheduling

  • Jadwal shift bergantian (minggu 1: pagi, minggu 2: siang)
  • Assignment shift per user atau per grup
  • Override jadwal untuk tanggal tertentu

🔐 SSO / LDAP untuk Enterprise

  • Login via Google Workspace / Microsoft Entra ID (OAuth2/OIDC)
  • LDAP/Active Directory sync untuk sync user otomatis
  • SAML 2.0 untuk enterprise on-premise

🐛 Bug & Operasional

  • [FIXED] NameError: get_principal di enrollment.py — import hilang saat tambah endpoint /enrollment/self
  • Backend server harus berjalan di port 8000 sebelum frontend dev server dijalankan — tambahkan ke README.md quickstart
  • Self-enrollment (/self-enroll): tenant_slug wajib diisi oleh pengguna — pertimbangkan URL-based slug (/self-enroll/:slug) agar tidak perlu input manual

📊 Analitik Lanjutan

  • Heatmap kehadiran per hari dalam seminggu
  • Breakdown per departemen / kelas
  • Prediksi absensi berbasis tren historis
  • Export PDF laporan bulanan

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions