You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.0 KiB
119 lines
3.0 KiB
# Global Rules |
|
|
|
## Infrastructure |
|
|
|
* Generate SSH private key jika belum tersedia dan simpan di folder `/ssh`. |
|
* Pastikan koneksi SSH menggunakan private key berhasil. |
|
* Simpan hasil audit server ke file `/server/<sshHOST>_audit.txt`. |
|
|
|
## Progressive Web App (PWA) |
|
|
|
* Aplikasi wajib menggunakan PWA. |
|
* Mendukung: |
|
|
|
* Offline Mode |
|
* Caching |
|
* Push Notification |
|
* Background Sync |
|
* Auto Update setelah deploy versi baru. |
|
|
|
## Device Integration |
|
|
|
Aplikasi harus memanfaatkan fitur perangkat yang tersedia sesuai dukungan browser dan OS: |
|
|
|
* Kamera |
|
* GPS / Geolocation |
|
* Push Notification |
|
* Upload File |
|
* QR Code Scanner |
|
* Barcode Scanner |
|
* Mikrofon |
|
* Video Recording |
|
* Share File |
|
* Clipboard |
|
* Offline Storage |
|
* Install to Home Screen |
|
* Biometric Authentication (FaceID / Fingerprint / WebAuthn) |
|
* Bluetooth (BLE) |
|
* NFC |
|
* USB Device |
|
* Serial Port (COM) |
|
* Thermal Printer via Bluetooth |
|
|
|
## User Experience (UX) |
|
|
|
* Setiap proses async wajib menampilkan loading indicator. |
|
* Setelah proses selesai tampilkan notifikasi sukses/gagal dalam modal atau popup. |
|
* User harus selalu mengetahui status proses yang sedang berjalan. |
|
* Tidak boleh ada proses yang berjalan tanpa feedback visual. |
|
|
|
## User Interface (UI) |
|
|
|
* UI minimalis, modern, responsif, dan mobile-first. |
|
* Tampilan harus optimal pada: |
|
|
|
* Desktop |
|
* Tablet |
|
* Android |
|
* iPhone |
|
* Gunakan icon yang sesuai dengan konteks menu. |
|
* Tambahkan catatan, hint, atau helper text pada setiap form atau fitur. |
|
* Sediakan Theme Switcher: |
|
|
|
* Light |
|
* Dark |
|
* System |
|
* Pastikan kontras warna dan keterbacaan tetap baik pada semua tema. |
|
|
|
## Navigation |
|
|
|
* Gunakan konsep SPA (Single Page Application). |
|
* Header, sidebar, dan menu harus persistent. |
|
* Saat berpindah menu hanya area content/body yang berubah. |
|
* Jangan me-render ulang seluruh layout. |
|
* Hilangkan layout shift saat navigasi. |
|
* Pertahankan posisi scroll sidebar/menu. |
|
* Tambahkan indikator menu aktif yang jelas: |
|
|
|
* Highlight |
|
* Active Background |
|
* Border |
|
* Active Icon |
|
* Transisi halaman harus cepat dan responsif. |
|
|
|
## Data Table & List |
|
|
|
* Header dan footer harus tetap terlihat (sticky). |
|
* Area data menggunakan scroll internal. |
|
* Semua list wajib mendukung: |
|
|
|
* Search |
|
* Filter |
|
* Sort |
|
* Optimalkan tampilan mobile. |
|
* Untuk tabel dengan banyak kolom: |
|
|
|
* Saat row dipilih tampilkan popup/action sheet. |
|
* Jangan tampilkan semua tombol aksi langsung di tabel mobile. |
|
* Gunakan pagination atau virtual scrolling jika data besar. |
|
|
|
## Performance |
|
|
|
* Optimalkan loading dan rendering. |
|
* Minimalkan request berulang. |
|
* Gunakan cache jika memungkinkan. |
|
* Pastikan aplikasi tetap nyaman digunakan pada koneksi internet lambat. |
|
|
|
## Accessibility |
|
|
|
* Semua tombol memiliki tooltip atau label yang jelas. |
|
* Mendukung keyboard navigation. |
|
* Mendukung screen reader dasar. |
|
* Hindari teks dengan kontras rendah. |
|
|
|
## Development Standard |
|
|
|
* Kode modular, reusable, dan mudah di-maintain. |
|
* Hindari duplikasi kode. |
|
* Gunakan naming convention yang konsisten. |
|
* Setiap fitur baru harus responsive dan mendukung PWA.
|
|
|