Update README: add backup/restore (encrypted local file, manual Drive copy), new deps
This commit is contained in:
17
README.md
17
README.md
@@ -33,6 +33,8 @@ Android. Semua data tersimpan di perangkat (offline-first, tanpa server).
|
|||||||
- Ubah password aplikasi
|
- Ubah password aplikasi
|
||||||
- Aktifkan/nonaktifkan login sidik jari (dengan dialog konfirmasi)
|
- Aktifkan/nonaktifkan login sidik jari (dengan dialog konfirmasi)
|
||||||
- Atur session timeout
|
- Atur session timeout
|
||||||
|
- **Backup & Restore**: export vault terenkripsi ke file lokal
|
||||||
|
(`Download/loginvault/*.enc`), restore dari file tersebut
|
||||||
- Ganti tema: **Gelap (Dark)** atau **Sistem (System)**
|
- Ganti tema: **Gelap (Dark)** atau **Sistem (System)**
|
||||||
- **Menu Exit** — keluar dari aplikasi
|
- **Menu Exit** — keluar dari aplikasi
|
||||||
|
|
||||||
@@ -49,7 +51,8 @@ lib/
|
|||||||
├── theme_provider.dart # theme mode (system/dark), persist via SharedPreferences
|
├── theme_provider.dart # theme mode (system/dark), persist via SharedPreferences
|
||||||
├── auth_screen.dart # login/registrasi adaptif (email+password, bypass fingerprint)
|
├── auth_screen.dart # login/registrasi adaptif (email+password, bypass fingerprint)
|
||||||
├── dashboard_screen.dart # search live, list, expand, swipe-delete, edit
|
├── dashboard_screen.dart # search live, list, expand, swipe-delete, edit
|
||||||
├── settings_screen.dart # ubah password, tema, fingerprint, timeout, exit
|
├── settings_screen.dart # ubah password, tema, fingerprint, timeout, backup, exit
|
||||||
|
├── backup_service.dart # export/import encrypted vault file (local)
|
||||||
├── vault_entry_dialogs.dart# dialog add/edit/confirm
|
├── vault_entry_dialogs.dart# dialog add/edit/confirm
|
||||||
└── main.dart # entrypoint + routing + ThemeProvider
|
└── main.dart # entrypoint + routing + ThemeProvider
|
||||||
```
|
```
|
||||||
@@ -119,8 +122,18 @@ adb install build/app/outputs/flutter-apk/app-release.apk
|
|||||||
- Ubah password aplikasi
|
- Ubah password aplikasi
|
||||||
- Aktifkan "Login dengan sidik jari" (muncul dialog konfirmasi; batal = tetap off)
|
- Aktifkan "Login dengan sidik jari" (muncul dialog konfirmasi; batal = tetap off)
|
||||||
- Atur session timeout
|
- Atur session timeout
|
||||||
|
- **Backup & Restore**:
|
||||||
|
- *Backup ke file (lokal)*: semua entri diekspor terenkripsi (pakai
|
||||||
|
password aplikasi) ke `Download/loginvault/loginvault_backup_<timestamp>.enc`
|
||||||
|
- *Restore dari file*: pilih file `.enc` dari folder tersebut → dikembalikan
|
||||||
|
ke DB (merge by id)
|
||||||
- Ganti tema, atau Exit.
|
- Ganti tema, atau Exit.
|
||||||
|
|
||||||
|
> **Catatan backup:** File `.enc` **terenkripsi dengan password aplikasi**,
|
||||||
|
> bukan constant key — aman jika dibagikan/copy ke Google Drive. Untuk survive
|
||||||
|
> dari crash HP, copy file tersebut ke Google Drive (manual) atau simpan di
|
||||||
|
> komputer. Restore butuh **password aplikasi yang sama** dengan saat backup.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Dependencies utama
|
## Dependencies utama
|
||||||
@@ -130,6 +143,8 @@ adb install build/app/outputs/flutter-apk/app-release.apk
|
|||||||
| `sqflite` | local database SQLite |
|
| `sqflite` | local database SQLite |
|
||||||
| `flutter_secure_storage` | simpan email & password aplikasi (Keystore) |
|
| `flutter_secure_storage` | simpan email & password aplikasi (Keystore) |
|
||||||
| `local_auth` | login dengan sidik jari (biometric Android) |
|
| `local_auth` | login dengan sidik jari (biometric Android) |
|
||||||
|
| `path_provider` | akses folder Download (backup) |
|
||||||
|
| `permission_handler` | izin storage (backup ke Download) |
|
||||||
| `provider` | state management (theme) |
|
| `provider` | state management (theme) |
|
||||||
| `shared_preferences` | persist tema & session timeout |
|
| `shared_preferences` | persist tema & session timeout |
|
||||||
| `crypto` | utilitas (tidak wajib, tersedia) |
|
| `crypto` | utilitas (tidak wajib, tersedia) |
|
||||||
|
|||||||
Reference in New Issue
Block a user