Celengin adalah aplikasi tabungan digital yang membantu kamu mencapai target finansial dengan cara yang menyenangkan. Offline-First — semua data disimpan di lokal, tidak butuh server.
- Offline-First — Semua data di localStorage, ngga perlu koneksi internet
- Kelola Target Tabungan — Buat celengan dengan target nominal, icon, dan gambar
- Transaksi Mudah — Deposit dan withdraw dengan format Rupiah
- Visualisasi Progress — Grafik interaktif dari Recharts
- Dark Mode — UI modern dengan dark mode penuh
- Import/Export Data — Backup JSON dan ekspor CSV (merge atau replace)
- Android App — APK signed siap install via Capacitor
git clone https://github.com/TrisnoSanjaya/celengin.git
cd celengin
npm install
npm run devBuka http://localhost:3000.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, static export) |
| UI | React 19 + Tailwind CSS 4 |
| Language | TypeScript 6 |
| Icons | Lucide React |
| Charts | Recharts |
| Storage | localStorage (Offline-First) |
| Mobile | Capacitor 8 (Android) |
| Auth | Lokal (tanpa server) |
├── app/ # Next.js App Router pages
│ ├── celengan/ # Detail & edit celengan (query params)
│ ├── celengan/baru/ # Buat celengan baru
│ ├── dashboard/ # Dashboard, target, aktivitas, pengaturan
│ ├── sign-in/ & sign-up/ # Auth lokal
├── components/ # React components
│ ├── dashboard/ # Celengan card, charts, sidebar
│ ├── layout/ # Navbar
│ └── ui/ # Reusable UI (Button, Card, Dialog)
├── lib/
│ ├── db.ts # localStorage database layer (CRUD)
│ ├── backup.ts # Export/import JSON & CSV
│ ├── image.ts # Kompresi gambar ke WebP base64
│ └── auth/ # Auth context (lokal)
└── scripts/ # Tools (generate-icons.mjs)
Celengin bisa dibuild sebagai Android app menggunakan Capacitor 8.
npm run build
npx cap sync android
npx cap open androidAtau langsung build dari CLI:
cd android
set JAVA_HOME="C:/Program Files/Android/Android Studio/jbr"
./gradlew assembleReleaseOutput: android/app/build/outputs/apk/release/app-release.apk
cd android
./gradlew bundleReleaseOutput: android/app/build/outputs/bundle/release/app-release.aab
Karena Celengin Offline-First, bisa di-deploy ke static hosting mana pun:
npm run buildOutput static ada di folder out/. Upload ke Vercel, Netlify, GitHub Pages, atau hosting static lainnya.
MIT