Personal Finance Manager — Aplikasi manajemen keuangan pribadi offline-first dengan AI chatbot, scanning struk, dan Web Bluetooth untuk cetak struk thermal.
| Modul | Deskripsi |
|---|---|
| 📊 Dasbor | Ikhtisar keuangan real-time, ringkasan kekayaan bersih, grafik pemasukan/pengeluaran, saldo per kantong |
| 💰 Anggaran | Aturan 50/30/20, sistem kantong (Tunai/E-Wallet/Rekening), filter transaksi per kantong, transfer antar kantong |
| 📈 Kekayaan | Lacak kekayaan bersih, aset (kas, emas, reksa dana, saham), liabilitas (utang, cicilan, kartu kredit), rasio kesehatan keuangan |
| 🛠️ Alat | Kalkulator finansial, perencana, dan utilitas keuangan |
| 🤖 AI Asisten | Chatbot finansial + scan struk otomatis dengan Hybrid AI (bluetooth thermal printing) |
| Layer | Pilihan |
|---|---|
| Framework | Next.js 16 (App Router) + React 19 |
| Styling | Tailwind CSS v4 (@theme directive) |
| Database Lokal | Dexie.js (IndexedDB wrapper) |
| State UI | React hooks + useLiveQuery (Dexie React) |
| Ikon | Lucide React |
| Chart | Recharts |
| PWA | Serwist (Service Worker) |
| Hosting | Vercel |
Offline-First — Semua operasi baca/tulis diarahkan ke IndexedDB lokal terlebih dahulu. Service Worker menangani background sync dan caching aset statis.
Sistem Kantong — 6 preset kantong (Tunai, Dana, Gopay, BCA, Seabank, Bank Jago) dengan saldo dihitung dari total pemasukan dikurangi pengeluaran per kantong. Transaksi tanpa kantong fallback ke Tunai.
Kekayaan Bersih — Dihitung di client-side: Total Aset − Total Liabilitas. Termasuk rasio likuiditas, rasio tabungan, dan debt-to-income ratio.
# Clone
git clone https://github.com/codenamezaxx/FinSpace.git
cd FinSpace
# Install dependencies
npm install
# Development server
npm run dev
# Build production
npm run build
# Jalankan di localhost
npm startBuka http://localhost:3000.
npm test # Vitest (unit test)
npm run test:watch # Watch mode
npm run lint # ESLintsrc/
├── app/ # Next.js App Router pages
│ ├── budget/ # Halaman anggaran
│ ├── dashboard/ # Halaman dasbor
│ ├── wealth/ # Halaman kekayaan
│ └── tools/ # Halaman alat
├── components/
│ ├── budget/ # Komponen anggaran & kantong
│ ├── dashboard/ # Komponen dasbor
│ ├── wealth/ # Komponen kekayaan
│ ├── ai/ # Komponen AI (chatbot, scan)
│ ├── layout/ # Navigasi, layout shell
│ └── shared/ # Komponen bersama
├── hooks/ # Custom React hooks
├── lib/ # Utilities, constants, database
└── styles/ # Global styles
| Perintah | Kegunaan |
|---|---|
npm run dev |
Development server (localhost:3000) |
npm run build |
Production build |
npm run start |
Jalankan production build |
npm run lint |
ESLint check |
npm test |
Unit test (Vitest) |
Proyek ini bersifat privat — tidak ada lisensi publik.
