Global : - pastikan sudah generate ssh private_key dan di simpan di folder ssh - pastikan sudah bisa mengakses ssh menggunakan private_key dan simpan _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+