Skip to content

Ryan-infitech/Refinance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Visitors

Refinance#

Reinventory Logo

Aplikasi pencatatan keuangan berbasis Flutter yang berfungsi secara offline dengan fitur registrasi, login, dan manajemen transaksi pemasukan & pengeluaran..

Flutter Dart SQLite

โœจ Fitur Utama

  • ๐Ÿ” 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

๐ŸŽฏ Fitur Terbaru

๐Ÿ“Š Laporan Keuangan (Report)

  • 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

๐ŸŽจ Rebranding

  • Nama aplikasi: Refinance#
  • Splash screen dengan logo
  • Consistent branding di semua screen

๐Ÿš€ Quick Start

# 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 --release

๐Ÿ“ฑ Screenshot & Flow

Flow Aplikasi:

Splash Screen โ†’ Login/Register โ†’ Dashboard โ†’ Add Transaction/View Report/Transaction List

Fitur per Screen:

  1. Login: Email & Password
  2. Register: Username, Email, Password
  3. Dashboard: Summary keuangan + quick actions
  4. Add Transaction: Form dengan foto optional
  5. Transaction List: Filter & detail transaksi
  6. Report: Laporan periode dengan breakdown

๐Ÿ—๏ธ Struktur Aplikasi

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

๐Ÿ—„๏ธ Database Schema

Tabel users

Kolom Tipe Deskripsi
id INTEGER Primary key, auto increment
username TEXT Nama pengguna
email TEXT Email (unique)
password TEXT Password (hashed SHA256)
created_at TEXT Timestamp pembuatan

Tabel transactions

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

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 icon

๐ŸŽจ Setup Logo & App Icon

1. Tambahkan Logo

Letakkan file refinance.png (1024x1024 px) di folder:

assets/images/refinance.png

2. Generate App Icon

flutter pub run flutter_launcher_icons

Logo 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.

๐Ÿ“ฑ Cara Penggunaan

1. First Time Setup

  1. Register: Buat akun baru dengan username, email, dan password
  2. Login: Masuk menggunakan email dan password

2. Dashboard

  • Lihat saldo, total income, dan total expense
  • Quick action: Tambah Income atau Expense
  • Lihat 5 transaksi terakhir
  • Akses Laporan melalui icon ๐Ÿ“Š

3. Tambah Transaksi

  1. Klik tombol "Pemasukan" atau "Pengeluaran"
  2. Isi form:
    • Jumlah (Rp)
    • Kategori (dropdown)
    • Tanggal (date picker)
    • Deskripsi (text)
    • Foto optional (camera/gallery)
  3. Klik "Simpan"

4. Lihat Laporan (NEW!)

  1. Dari Dashboard, tap icon ๐Ÿ“Š Laporan
  2. Default: Laporan bulan berjalan
  3. Pilih Bulan: Tap icon ๐Ÿ“… (calendar)
  4. Custom Range: Tap icon ๐Ÿ“† (date range)
  5. Lihat:
    • Summary Income, Expense, Balance
    • Breakdown per kategori dengan %
    • Detail semua transaksi periode

5. Riwayat Transaksi

  1. Dari Dashboard, tap "Lihat Semua"
  2. Filter: Semua / Pemasukan / Pengeluaran
  3. Tap transaksi untuk lihat detail
  4. Hapus transaksi jika diperlukan

๐Ÿ”’ Keamanan

  • โœ… Password di-hash menggunakan SHA256
  • โœ… Data disimpan secara lokal di device
  • โœ… Session management dengan SharedPreferences
  • โœ… Tidak memerlukan koneksi internet
  • โœ… Privacy terjaga (no cloud sync)

๐ŸŽจ Kategori Default

Pemasukan:

  • Gaji, Bonus, Investasi, Hadiah, Penjualan, Lainnya

Pengeluaran:

  • Makanan, Transport, Belanja, Hiburan, Tagihan, Kesehatan, Pendidikan, Lainnya

๐Ÿ“Š Report Features

Date Selection:

  • Monthly Report: Pilih bulan & tahun
  • Custom Range: Pilih start & end date

Summary Cards:

  • ๐Ÿ’š Total Pemasukan
  • โค๏ธ Total Pengeluaran
  • ๐Ÿ’™ Saldo Periode

Category Breakdown:

  • Progress bar per kategori
  • Persentase kontribusi
  • Visual color-coded (hijau/merah)

Transaction Details:

  • List lengkap transaksi
  • Icon & badge untuk foto
  • Tap untuk detail lengkap

๐Ÿ› ๏ธ Pengembangan

Tech Stack:

  • Framework: Flutter 3.x
  • Language: Dart
  • Database: SQLite (sqflite)
  • State Management: StatefulWidget
  • Local Storage: SharedPreferences
  • Image Handling: image_picker

Architecture:

Models โ† Services โ† Screens
   โ†“        โ†“         โ†“
Database Helper  Auth/Trans/Image Services

๐Ÿ“ Catatan Penting

  1. โœ… Aplikasi 100% offline - tidak perlu internet
  2. โœ… Foto disimpan di app document directory
  3. โœ… Data tidak hilang selama app tidak di-uninstall
  4. โš ๏ธ Backup manual dengan export (fitur bisa ditambahkan)
  5. โš ๏ธ Logo refinance.png perlu ditambahkan manual

๐Ÿ”ฎ Roadmap & Future Features

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

๐Ÿ› Troubleshooting

Error: Logo tidak muncul

  • Pastikan file refinance.png ada di assets/images/
  • Run flutter clean kemudian flutter pub get
  • Restart aplikasi

Error: Database tidak terbaca

  • Uninstall dan install ulang aplikasi
  • Data akan hilang (expected behavior untuk reset)

Error: Permission camera/gallery

  • Enable permission di Settings โ†’ Apps โ†’ Refinance# โ†’ Permissions

๐Ÿ“„ License

MIT License - Bebas digunakan untuk pembelajaran dan pengembangan.

๐Ÿ‘จโ€๐Ÿ’ป Developer

Dikembangkan dengan โค๏ธ menggunakan Flutter


๐Ÿ“š Dokumentasi Lengkap


Refinance# - Kelola Keuangan Lebih Mudah ๐Ÿ’ฐ

About

Aplikasi mobile pencatatan keuangan [flutter/firebase]

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors