Aplikasi pencatatan keuangan berbasis Flutter yang berfungsi secara offline dengan fitur registrasi, login, dan manajemen transaksi pemasukan & pengeluaran..
- ๐ Autentikasi: Register dan Login dengan penyimpanan offline
- ๐ฐ Pencatatan Transaksi: Catat income dan expense dengan mudah
- ๐ธ Upload Foto: Ambil foto dari kamera atau galeri sebagai bukti transaksi
- ๐ Dashboard: Lihat ringkasan saldo, pemasukan, dan pengeluaran
- ๐ Laporan Keuangan: Recap bulanan atau custom date range dengan breakdown per kategori
- ๐ Riwayat: Lihat daftar transaksi dengan filter
- ๐๏ธ Hapus Transaksi: Kelola transaksi dengan mudah
- ๐ฑ Offline: Semua data tersimpan lokal tanpa koneksi internet
- Pilih periode bulanan atau custom date range
- Summary total income, expense, dan balance
- Breakdown per kategori dengan persentase dan progress bar
- Detail transaksi per periode
- Visual yang informatif dan mudah dipahami
- Nama aplikasi: Refinance#
- Splash screen dengan logo
- Consistent branding di semua screen
# Clone repository (jika dari git)
git clone <repository-url>
# Masuk ke folder project
cd aplikasi_pencatatan_keuangan
# Install dependencies
flutter pub get
# (Optional) Generate app icon jika logo sudah ada
flutter pub run flutter_launcher_icons
# Run aplikasi
flutter run
# Build APK untuk Android
flutter build apk --releaseSplash Screen โ Login/Register โ Dashboard โ Add Transaction/View Report/Transaction List
- Login: Email & Password
- Register: Username, Email, Password
- Dashboard: Summary keuangan + quick actions
- Add Transaction: Form dengan foto optional
- Transaction List: Filter & detail transaksi
- Report: Laporan periode dengan breakdown
lib/
โโโ models/
โ โโโ user_model.dart # Model untuk data user
โ โโโ transaction_model.dart # Model untuk data transaksi
โโโ services/
โ โโโ database_helper.dart # Helper untuk SQLite
โ โโโ auth_service.dart # Service autentikasi
โ โโโ transaction_service.dart # Service transaksi
โ โโโ image_service.dart # Service untuk foto
โโโ screens/
โ โโโ login_screen.dart # Halaman login
โ โโโ register_screen.dart # Halaman register
โ โโโ home_screen.dart # Dashboard utama
โ โโโ add_transaction_screen.dart # Tambah transaksi
โ โโโ transaction_list_screen.dart # Daftar transaksi
โ โโโ report_screen.dart # Laporan keuangan (NEW!)
โโโ main.dart # Entry point aplikasi
| Kolom | Tipe | Deskripsi |
|---|---|---|
| id | INTEGER | Primary key, auto increment |
| username | TEXT | Nama pengguna |
| TEXT | Email (unique) | |
| password | TEXT | Password (hashed SHA256) |
| created_at | TEXT | Timestamp pembuatan |
| Kolom | Tipe | Deskripsi |
|---|---|---|
| id | INTEGER | Primary key, auto increment |
| user_id | INTEGER | Foreign key ke users |
| type | TEXT | 'income' atau 'expense' |
| amount | REAL | Jumlah uang |
| category | TEXT | Kategori transaksi |
| description | TEXT | Deskripsi transaksi |
| image_path | TEXT | Path foto (nullable) |
| date | TEXT | Tanggal transaksi |
| created_at | TEXT | Timestamp pembuatan |
dependencies:
sqflite: ^2.3.0 # Database SQLite
path_provider: ^2.1.1 # Akses direktori lokal
shared_preferences: ^2.2.2 # Penyimpanan session
image_picker: ^1.0.5 # Ambil foto dari kamera/galeri
crypto: ^3.0.3 # Hashing password
intl: ^0.19.0 # Format tanggal dan mata uang
dev_dependencies:
flutter_launcher_icons: ^0.13.1 # Generate app iconLetakkan file refinance.png (1024x1024 px) di folder:
assets/images/refinance.png
flutter pub run flutter_launcher_iconsLogo akan digunakan di:
- Splash Screen (200x200)
- Login Screen (120x120)
- Register Screen (100x100)
- App Icon Android & iOS
Note: Jika logo tidak ada, aplikasi akan menggunakan icon wallet default.
- Register: Buat akun baru dengan username, email, dan password
- Login: Masuk menggunakan email dan password
- Lihat saldo, total income, dan total expense
- Quick action: Tambah Income atau Expense
- Lihat 5 transaksi terakhir
- Akses Laporan melalui icon ๐
- Klik tombol "Pemasukan" atau "Pengeluaran"
- Isi form:
- Jumlah (Rp)
- Kategori (dropdown)
- Tanggal (date picker)
- Deskripsi (text)
- Foto optional (camera/gallery)
- Klik "Simpan"
- Dari Dashboard, tap icon ๐ Laporan
- Default: Laporan bulan berjalan
- Pilih Bulan: Tap icon ๐ (calendar)
- Custom Range: Tap icon ๐ (date range)
- Lihat:
- Summary Income, Expense, Balance
- Breakdown per kategori dengan %
- Detail semua transaksi periode
- Dari Dashboard, tap "Lihat Semua"
- Filter: Semua / Pemasukan / Pengeluaran
- Tap transaksi untuk lihat detail
- Hapus transaksi jika diperlukan
- โ Password di-hash menggunakan SHA256
- โ Data disimpan secara lokal di device
- โ Session management dengan SharedPreferences
- โ Tidak memerlukan koneksi internet
- โ Privacy terjaga (no cloud sync)
- Gaji, Bonus, Investasi, Hadiah, Penjualan, Lainnya
- Makanan, Transport, Belanja, Hiburan, Tagihan, Kesehatan, Pendidikan, Lainnya
- Monthly Report: Pilih bulan & tahun
- Custom Range: Pilih start & end date
- ๐ Total Pemasukan
- โค๏ธ Total Pengeluaran
- ๐ Saldo Periode
- Progress bar per kategori
- Persentase kontribusi
- Visual color-coded (hijau/merah)
- List lengkap transaksi
- Icon & badge untuk foto
- Tap untuk detail lengkap
- Framework: Flutter 3.x
- Language: Dart
- Database: SQLite (sqflite)
- State Management: StatefulWidget
- Local Storage: SharedPreferences
- Image Handling: image_picker
Models โ Services โ Screens
โ โ โ
Database Helper Auth/Trans/Image Services
- โ Aplikasi 100% offline - tidak perlu internet
- โ Foto disimpan di app document directory
- โ Data tidak hilang selama app tidak di-uninstall
โ ๏ธ Backup manual dengan export (fitur bisa ditambahkan)โ ๏ธ Logorefinance.pngperlu ditambahkan manual
Fitur yang bisa ditambahkan:
- Export report ke PDF/Excel
- Grafik pie chart & line chart
- Budget planning & alerts
- Reminder untuk tagihan rutin
- Multi-currency support
- Backup & restore ke cloud
- Dark mode
- Biometric login (fingerprint/face)
- Widget untuk quick add
- Recurring transactions
- Pastikan file
refinance.pngada diassets/images/ - Run
flutter cleankemudianflutter pub get - Restart aplikasi
- Uninstall dan install ulang aplikasi
- Data akan hilang (expected behavior untuk reset)
- Enable permission di Settings โ Apps โ Refinance# โ Permissions
MIT License - Bebas digunakan untuk pembelajaran dan pengembangan.
Dikembangkan dengan โค๏ธ menggunakan Flutter
- DOKUMENTASI.md - Dokumentasi detail aplikasi
- RANCANGAN_VISUAL.md - Flow & wireframe
- UPDATE_FITUR.md - Changelog & fitur baru
Refinance# - Kelola Keuangan Lebih Mudah ๐ฐ
