尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Pencatat Pengeluaran • 100% On-Device / Offline-First Personal Finance App
Aplikasi pencatatan keuangan pribadi modern berbasis Flutter, dibangun secara khusus untuk platform Android & iOS dengan arsitektur 100% Offline-First (Zero Cloud Dependency, Tanpa Login/Akun, Nol Penggunaan Backend Eksternal).
id.hitung.appid_ID | Rupiah (Rp, bilangan bulat tanpa desimal ,00)#14161B) dengan border halus (#232730, 1.5px).#10B981, tanda +), tiang kanan Coral Red (#F43F5E, tanda -), pita tengah putih (#FFFFFF, simbol +/-), serta titik presisi Warm Orange (#F97316).int (Rupiah penuh). Tidak ada floating point error double untuk kalkulasi saldo.Rp dilengkapi fontFeatures: [FontFeature.tabularFigures()] untuk perataan angka monospaced yang rapi.db.transaction(() async { ... }) yang memperbarui saldo dompet terkait secara atomik.isArchived = true atau isDeleted = true).| ID | Fitur | Deskripsi |
|---|---|---|
| FR-01 | Zero-Login Onboarding | Pengguna langsung masuk tanpa registrasi. Input nama dompet utama & saldo awal, serta otomatis seeding 10 kategori bawaan (7 Pengeluaran, 3 Pemasukan). |
| FR-02 | 3-Tap Quick Entry | Tombol + membuka Modal Bottom Sheet setinggi 85% layar. Dilengkapi Custom Numpad dengan tombol 000, batas 12 digit (Rp 999.999.999.999), dan tombol Simpan aktif hanya jika nominal > 0. |
| FR-03 | Multi-Wallet & Transfer | Pisahkan saldo Tunai, Bank, dan E-Wallet. Mode TRANSFER memvalidasi Dompet Asal != Dompet Tujuan, mengurangi saldo asal & menambah saldo tujuan tanpa dihitung sebagai pengeluaran/pemasukan bulanan. |
| FR-04 | Reactive Dashboard | Filter interaktif Bulan & Tahun (< Oktober 2026 >) serta filter dompet (Semua Dompet atau spesifik). Menampilkan Total Saldo, Pemasukan, dan Pengeluaran. Riwayat harian dengan subtotal, serta Swipe-to-delete dengan SnackBar Urungkan (Undo) selama 4 detik. |
| FR-05 | Budgeting System | Pengaturan batas anggaran bulanan Global dan per Kategori. Dilengkapi indikator warna: Hijau (<80%), Oranye #F97316 (80%-99%), dan Merah #F43F5E (>=100%). |
| FR-06 | Analytics & Charts | Donut Chart interaktif (fl_chart) dengan persentase tiap kategori. Ketuk irisan untuk menyorot detail, serta kartu perbandingan pengeluaran bulan ini vs bulan lalu. |
| FR-07 | JSON/CSV Backup & Restore | Ekspor cadangan lengkap .json untuk dipulihkan kembali secara atomik dengan validasi , serta ekspor yang kompatibel dengan Microsoft Excel dan Google Sheets. |
flutter_riverpod: ^2.5.1drift: ^2.18.0, sqlite3_flutter_libs: ^0.5.24, path_provider: ^2.1.3, path: ^1.9.0google_fonts: ^6.2.1 (Plus Jakarta Sans), lucide_icons: ^0.257.0, fl_chart: ^0.68.0intl: ^0.20.3, uuid: ^4.4.0, shared_preferences: ^2.2.3, share_plus: ^9.0.0, file_picker: ^8.0.5, local_auth: ^2.2.0build_runner: ^2.4.11, drift_dev: ^2.18.0d:/Project Hitung/
├── android/ # Konfigurasi Android (id.hitung.app, minSdk 26)
├── ios/ # Konfigurasi iOS (id.hitung.app, iOS 15.0)
├── lib/
│ ├── main.dart # App entry, ProviderScope, Lifecycle Biometric observer
│ ├── core/
│ │ ├── constants/ # Warna brand (AppColors) & Konstanta (AppConstants)
│ │ ├── database/ # Drift SQLite ORM, Tables, ACID mutations, SeedData
│ │ ├── providers/ # DatabaseProvider & StreamProviders
│ │ ├── theme/ # AppTheme dark mode & Plus Jakarta Sans
│ │ └── utils/ # CurrencyFormatter, DateFormatter, IconHelper
│ ├── features/
│ │ ├── onboarding/ # FR-01: Zero-Login Onboarding
│ │ ├── quick_entry/ # FR-02: 3-Tap Quick Entry Modal + Numpad '000'
│ │ ├── wallets/ # FR-03: Multi-Wallet & Transfer
│ │ ├── dashboard/ # FR-04: Reactive Dashboard, Daily Groups, Undo
│ │ ├── budgeting/ # FR-05: Budgeting System (<80%, 80-99%, >=100%)
│ │ ├── analytics/ # FR-06: Donut Chart & MoM Comparison
│ │ ├── backup_restore/ # FR-07: JSON Backup & CSV Export
│ │ ├── settings/ # FR-08: Biometric Lock & Settings
│ │ └── navigation/ # Bottom navigation shell with central FAB
│ └── shared/
│ └── widgets/ # AppLogo visual, FormattedAmountText, EmptyState
├── test/
│ └── unit/
│ ├── financial_math_test.dart # Pengujian aritmatika integer & saldo
│ ├── currency_formatter_test.dart # Pengujian format Rupiah & tabular figures
│ └── database_acid_test.dart # Pengujian mutasi atomik SQLite & soft delete
├── pubspec.yaml
└── analysis_options.yaml
Untuk menjalankan seluruh rangkaian unit test:
flutter test
Untuk menjalankan analisis statis kode (Linter):
flutter analyze
flutter build apk --release
flutter build appbundle --release
flutter build ipa --release
schemaVersion.csv| FR-08 | Biometric Lock | Proteksi privasi menggunakan Face ID / Fingerprint (local_auth). Layar kunci otomatis muncul setiap kali aplikasi dibuka kembali (AppLifecycleState.resumed). |