Skip to content

Repository files navigation

PocketUs

PocketUs adalah aplikasi manajemen keuangan pribadi (personal finance manager) yang dirancang untuk membantu pengguna mengelola, merencanakan, dan melacak keuangan harian secara luring (offline) dengan antarmuka yang premium, responsif, dan kaya akan animasi mikro.


Fitur Utama

1. Manajemen Transaksi Harian

Mencatat pengeluaran, pemasukan, dan transfer saldo antar dompet. Dilengkapi dengan pencarian transaksional, klasifikasi kategori, filter rentang tanggal, filter nominal, serta filter berdasarkan kantong/dompet.

2. Multi-Kantong Dompet (Wallets)

Mendukung pembuatan beberapa kantong sekaligus (misalnya Tunai, Rekening Bank, E-Wallet) dengan saldo terpisah, ikon visual kustom, dan pilihan warna aksen yang representatif.

3. Rencana Anggaran (Budgeting)

Menetapkan limit anggaran pengeluaran untuk jangka waktu bulanan. Pengguna mendapat indikasi visual yang jelas jika pengeluaran telah mendekati atau melebihi limit (Over Limit).

4. Celengan Impian (Savings Goals)

Membantu pengguna menabung untuk target khusus (misalnya membeli laptop, liburan, atau dana darurat) dengan fitur setor (deposit) dan tarik (withdraw) saldo celengan, serta visualisasi progress persentase pencapaian.

5. Visualisasi & Analisis Grafik

Menyajikan grafik arus kas mingguan dan grafik lingkaran (donut chart) untuk proporsi pengeluaran per kategori menggunakan library fl_chart secara interaktif dengan haptic feedback yang halus.

6. Keamanan Biometrik

Melindungi privasi data keuangan pengguna dengan integrasi sistem keamanan biometrik (sidik jari atau pemindai wajah) saat pertama kali aplikasi dibuka dari latar belakang.

7. Ekspor Laporan

Mendukung ekspor riwayat keuangan ke format file CSV yang dapat langsung dibagikan atau dibuka menggunakan aplikasi spreadsheet seperti Microsoft Excel atau Google Sheets.


Arsitektur & Struktur Proyek

Aplikasi ini menggunakan pendekatan arsitektur bersih yang scalable dengan pemisahan tanggung jawab (separation of concerns) yang jelas:

  • core/: Berisi konstanta global, konfigurasi warna tema, helper ikon, formatter angka/tanggal, dan utilitas global lainnya.
  • models/: Model data ter-typing yang didefinisikan secara deklaratif untuk serialization dan database adapter.
  • providers/: Layer logika bisnis dan state management berbasis Provider yang menjembatani view dengan local database.
  • views/: Komponen UI visual yang modular. Setiap subfolder fitur berisi view utama dan subfolder widgets untuk elemen-elemen UI spesifik yang dipecah agar mudah dirawat.
  • widgets/: Kumpulan widget global yang reusable di berbagai halaman (seperti animasi transisi, tombol kustom, dan item tile).

Teknologi yang Digunakan

  • Bahasa: Dart 3 (Flutter SDK)
  • State Management: Provider
  • Database Lokal: Hive & Hive Flutter (NoSQL database berkinerja tinggi untuk penyimpanan luring)
  • Grafik Visual: FL Chart
  • Autentikasi: Local Auth (Integrasi biometrik bawaan perangkat Android/iOS)
  • Font: Google Fonts (Inter)

Instalasi & Cara Menjalankan

Ikuti langkah-langkah di bawah ini untuk menjalankan aplikasi di lingkungan pengembangan lokal Anda:

Prasyarat

  • Flutter SDK (Versi terbaru atau minimal 3.12.0)
  • Android Studio / VS Code dengan Flutter extension terinstal
  • Perangkat emulator atau fisik (Android/iOS)

Langkah-Langkah

  1. Clone repositori ini ke komputer lokal Anda:

    git clone https://github.com/username/pocketus_app.git
  2. Masuk ke direktori proyek:

    cd pocketus_app
  3. Unduh semua dependensi pub package yang diperlukan:

    flutter pub get
  4. Jalankan kode generator build_runner (diperlukan untuk membuat adapter database Hive):

    flutter pub run build_runner build --delete-conflicting-outputs
  5. Jalankan aplikasi di emulator atau perangkat fisik Anda:

    flutter run

Informasi Pengembangan Tambahan

  • Penyimpanan Lokal: Seluruh data transaksi, kategori, dompet, dan celengan disimpan secara aman di perangkat lokal menggunakan enkripsi box Hive. Data tidak dikirim ke server luar untuk menjaga privasi mutlak.
  • Analisis Kode: Jalankan perintah di bawah ini secara berkala untuk memastikan kualitas penulisan kode tetap bersih dan terbebas dari warning linter:
    flutter analyze

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages