# 👛 Kantongku **Asisten keuangan pribadi yang bikin kamu *semangat* menabung.** ![Expo](https://img.shields.io/badge/Expo-SDK%2057-000000?logo=expo&logoColor=white&style=for-the-badge) ![React Native](https://img.shields.io/badge/React%20Native-0.86-61DAFB?logo=react&logoColor=white&style=for-the-badge) ![TypeScript](https://img.shields.io/badge/TypeScript-6.0-3178C6?logo=typescript&logoColor=white&style=for-the-badge) ![Offline First](https://img.shields.io/badge/Offline%20First-SQLite-0D9488?style=for-the-badge) ![Platform](https://img.shields.io/badge/Platform-Android%20%7C%20iOS-16A34A?style=for-the-badge) *Catat pemasukan & pengeluaranmu dengan cepat, sisihkan uang otomatis, dan jaga semangat menabung — semua tanpa internet, semua di perangkatmu.*
--- ## ✨ Kenapa Kantongku? Bukan sekadar buku kas digital. Kantongku adalah **asisten keuangan** yang: - 💸 **Auto-sisih otomatis** — setiap pemasukan, 10% langsung dikunci ke tabungan sebelum sempat terpakai (*pay yourself first*) - ❤️ **Uangmu, Nyawamu!** — health bar ala game yang menunjukkan kondisi saldomu: SEHAT 🟢 / WASPADA 🟡 / KRITIS 🔴 - 🔮 **Proyeksi tabungan** — estimasi tabungan akhir bulan berdasarkan ritme sisihmu - 🎯 **Target tabungan** — bikin target nyata, lihat progress bar + estimasi selesai - 🏅 **Badge pencapaian** — 8 pencapaian yang bikin kamu balik lagi - 🔥 **Streak nabung** — konsistensi mingguan yang dijaga dengan semangat - 📊 **Insight otomatis** — kategori terboros, tip pola pengeluaran, saldo cukup berapa hari ## 🛡️ Privasi & Offline - **100% offline-first** — semua data tersimpan di SQLite lokal perangkatmu - **Tanpa server, tanpa akun, tanpa internet** — data keuanganmu tidak pernah keluar dari HP - **Backup & restore** — export/import file JSON kapan saja ## 🚀 Menjalankan ```bash # Install dependencies npm install # Jalankan dengan Expo npx expo start --tunnel # scan QR dengan Expo Go # atau npm run android npm run web ``` > Butuh [Expo Go](https://expo.dev/go) di HP untuk preview. ## 🧱 Tech Stack | Layer | Teknologi | |---|---| | Framework | React Native + Expo SDK 57 | | Bahasa | TypeScript | | Database | SQLite (`expo-sqlite`) | | Navigasi | React Navigation (Bottom Tabs + Native Stack) | | Grafik | react-native-svg | | Animasi | React Native Animated API | ## 🗂️ Struktur Project ``` src/ ├── components/ # Komponen reusable (SwipeableRow, dll) ├── db/ # Database, skema & repository queries ├── navigation/ # Tab & Stack navigator ├── screens/ # 5 layar utama + form modal ├── theme/ # Warna & styling konsisten ├── types/ # TypeScript types └── utils/ # Format rupiah, mapping icon 3D, dll assets/ # Aset 3D (celengan, koin, dompet, dll) ``` ## 🎨 Desain - **Gradient + aset 3D** — setiap layar punya karakter 3D-nya sendiri (celengan, koin, dompet, api, gear, grafik) - **Warna pastel senada** — teal sebagai identitas utama - **FAB** tombol "+" melingkar di tengah tab bar - **Swipe gesture** — geser transaksi untuk Edit/Hapus ## 🗺️ Roadmap - [x] Pencatatan pemasukan & pengeluaran - [x] Auto-sisih 10% + pengaturan persentase - [x] Edit & hapus transaksi (swipe gesture) - [x] Transaksi berulang (gaji, cicilan, langganan) - [x] Target tabungan + estimasi selesai - [x] Badge pencapaian & streak nabung - [x] Health bar "Uangmu, Nyawamu!" - [x] Proyeksi tabungan + insight pola pengeluaran - [x] Donut chart pengeluaran per kategori - [x] Backup & restore offline - [ ] Kelola kategori custom - [ ] Notifikasi pengingat - [ ] Scan struk (OCR on-device) - [ ] Build APK (EAS) ## 📄 Lisensi MIT © Novy — dibuat dengan ❤️ dan semangat menabung.