Mobile
Codename Tree
Masalah
Catatan, tugas, keuangan, kebiasaan, dan jadwal biasanya tersebar di lima aplikasi berbeda, dengan tampilan dan cara kerja yang tidak saling cocok. Menggabungkannya jadi satu aplikasi besar membuat tiap bagian jadi berat dan sulit dirawat.
Peran saya
Solo. Arsitektur, UI, data, keamanan, dan build.
Yang saya bangun
Lima aplikasi Flutter terpisah dalam satu monorepo, berbagi paket inti: arku_core (tema, token, widget dasar), arku_data (skema Drift/SQLite dan repository), arku_sync, arku_premium, dan arku_media. Catatan terkunci dienkripsi AES-256-GCM dengan kunci turunan PIN lewat PBKDF2 120.000 iterasi, sehingga isi database tidak terbaca tanpa PIN.
Hasil
Kelima aplikasi memakai satu sumber tema dan satu pola akses data, sehingga perubahan di paket inti berlaku ke semuanya sekaligus. Isi catatan terkunci tetap tidak terbaca meski file database diambil langsung.
Status
Proyek masih berjalan. Kelima aplikasi, paket inti, dan enkripsi catatan sudah ada di repo. Sinkronisasi Drive, premium, dan lampiran foto masih dalam pengerjaan.
Teknologi
- Flutter
- Dart
- Drift / SQLite
- AES-256-GCM
- PBKDF2
- Provider
- Google Drive API
- Play Billing