Files

105 lines
3.7 KiB
Markdown

<div align="center">
# 👛 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.*
</div>
---
## ✨ 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.