Global : 
    - pastikan sudah generate ssh private_key dan di simpan di folder ssh
    - pastikan sudah bisa mengakses ssh menggunakan private_key dan simpan <sshHOST>_audit.txt di folder server
    - web app dengan Progressive Web App (PWA) untuk memanfaatkan:
        Caching
        Offline mode
        Push notification
        Background sync

    dan bisa mengakses banyak fitur perangkat Android dan iPhone seperti:
        Kamera
        GPS / Lokasi
        Push Notification
        Upload File
        QR Code Scanner
        Barcode Scanner
        Mikrofon / Rekam Suara
        Video Recording
        Share File
        Clipboard (Copy/Paste)
        Offline Storage
        Install ke Home Screen
        Biometric (FaceID/Fingerprint via WebAuthn)
        Bluetooth (BLE)
        NFC
        USB Device
        Serial Port (COM)
        Printer Thermal via Bluetooth
        Background Sync
    - setiap proses yang memerlukan waktu berikan informasi berupa animasi / informasi loading dan setelah proses selesai tampilkan dalam pop-up, ini penting untuk memberikan informasi ke user agar user mengetahui proses sedang berlangsung
    - icon di setiap menu sesuai dengan konteks menunya
    - pastikan menu aplikasi minimalis, simpel dan interaktif saat di akses via desktop atau mobile (android/IOS) seperti https://www.trivago.co.id/
    - tambahkan catatan di setiap UI
    - pastikan UI compatible dan fit untuk di akses mengunakan desktop, tab dan mobile phone
    - tambahkan toggle opsi: (Light, Dark, System) pastikan text dan informasi di UI tetap kontras dan mudah terbaca
    - list menggunakan scroll agar header tidak ikut kebawah dan footer tetap terlihat
    - field bisa di search, filter dan sort
    - perbaiki tabel list, tambahkan feature saat di klik 1 row di tabel, pop-up action yang tersedia, karena field terlalu banyak sehingga field action tidak langsung tampil di tampilan (Android/IOS)
    - Tambahkan feature Auto Update jika UI PWA sudah di install di mobile (Android/IOS)
    - Perbaiki tampilan web desktop agar navigasi lebih stabil dan modern:
        1. Saat user berpindah menu, jangan reload seluruh layout halaman.
        2. Sidebar, header, dan menu navigasi harus tetap statis (persistent).
        3. Yang berubah hanya area konten/body halaman.
        4. Hilangkan efek pergeseran (layout shift) saat berpindah menu.
        5. Tambahkan indikator menu aktif agar user mengetahui sedang berada di halaman mana.
        6. Menu aktif harus memiliki visual yang jelas (background berbeda, highlight, border, atau icon aktif).
        7. Pertahankan posisi scroll menu/sidebar saat navigasi.
        8. Pastikan transisi antar halaman tetap cepat dan responsif.
        9. Optimalkan pengalaman desktop dengan konsep layout SPA (Single Page Application) atau persistent layout.

Email SMTP
    - support@geonet.co.id sebagai email pengirim
    - Email SMTP di setup via UI dan tambahkan action test send email
    - tambahkan form edit send email untuk reset password, info jika password di ubah dan test send email

postgresql docker sebagai log
    - simpan log ke postgresql database
    - tambahkan catatan username yang login, melakukan action
    - definisi aplikasi lain yang menggunakan API dan simpan lognya
    - tambahkan log aktivitas CRUD yang di lakukan oleh pengguna baik di database, ldap, mail smtp dan yang lainnya yang ada di aplikasia
    - tambahkan log audit web :
        Nama browser (Chrome, Edge, Firefox, dll)
        Sistem operasi (Windows, Linux, Android, dll)
        Resolusi layar
        Jumlah CPU logical cores
        RAM perangkat (perkiraan, browser tertentu)
        GPU/VGA (melalui WebGL)
        Bahasa sistem
        Timezone
        IP Address (melalui server atau WebRTC)
    - tambahkan count dan duration UI yang di akses
    - simpan configurasi database connection dan smtp di databse docker agar tidak hilang saat proses deplot

API Auth
    - Implementasi route API, autentikasi token (API Token, LDAP Bearer + JWT login dan OAuth2 Client Credentials (Laravel Passport) + manajemen client), dan response JSON.
    - tambahkan UI doc API (Guide How to USE API) dan berikan xample input, output dan errornya

UI API
    - berisi dokumen url api dan cara aksesnya
    - tampilan guide seperti fastapi Swagger UI

Database
    - database yang bisa di add : SQL Server, PostgreSQL, MySQL, MariaDB
    - add database untuk di list menggunakan alamat database, username (administrator role) dan password
    - list database
    - tambahkan action make offline (agar database tidak bisa di akses end user)

LDAP
    list user
        - tambahkan action edit (tambah add to group dan change password), disable, enable dan change password (saat melakukan perubahan password kirimkan email: password ada sudah di ganti pada datetime)
        - tambahkan field group
        - simpan data yang tidak bisa di handel oleh LDAP ke database
        - tambahkan other email confirmation selain email di LDAP
        - tambahkan phone number
        - other email dan phone number bisa di edit oleh user dan user bisa langsung test email untuk di kirimkan email dari smtp ke email user LDAP dan Other email
        - tambahkan Field Note di list LDAP User dan Group yang hanya bisa di CRUD oleh admin
        - tambahkan view di LDAP User dan profile user yang isinya log activity

    list grouop
        - list group
        - tambahkan action Buat Grup Baru (Group Name + Description (opsional))
        - tambahkan field view di list group
        - tambahkan add member dan remove member di view group

WebSocket

HmailServer
    - set di host: terkoneksi dengan LDAP username dan password
    - send email via hmailserver menggunakan incoming dan outgoing hmailserver

Stalwart Mail Server
    - set Stalwart Mail Server sebagai email sender
    - simpan assetnya ke database dan QNAP
    Stalwart Mail Server
            │
            ├── PostgreSQL (Full-text indexing) untuk kecepatan search
            ├── NVMe SSD (metadata/index)
            └── Storage NAS/Object Storage (attachment)
            
        NVMe SSD
        ├─ PostgreSQL      : 100 GB
        ├─ Index/Search    : 100 GB
        └─ OS + Docker     : 100 GB

        HDD/NAS
        └─ Email Storage   : 5 TB+