Splitwise adalah platform manajemen keuangan berbasis kecerdasan buatan (AI) yang dirancang khusus untuk membantu Gen Z dan Milenial mengelola arus kas, melacak pengeluaran bersama, dan mendapatkan rekomendasi finansial yang strategis.
- Multi-Language Support: Dukungan penuh untuk Bahasa Indonesia, Inggris, dan Mandarin.
- AI-Powered Budgeting: Analisis pengeluaran otomatis menggunakan Machine Learning untuk memprediksi rasio tabungan.
- Interactive Dashboard: Visualisasi data pengeluaran bulanan, skor kredit, dan suku bunga pinjaman yang interaktif.
- Shared Expenses: Kelola pengeluaran bersama teman atau keluarga dengan pembagian yang adil dan transparan.
- Progressive Web App (PWA): Dapat diinstal di iOS, Android, Windows, dan Mac untuk pengalaman seperti aplikasi native.
- Multi-Step Onboarding: Alur pendaftaran informasi pekerjaan, pengeluaran, dan tujuan keuangan yang terstruktur.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Auth: NextAuth.js v5
- Database ORM: Drizzle ORM
- Validation: Zod
- Styling: Tailwind CSS 4
- Components: Shadcn UI / Radix UI
- Animations: Framer Motion & Lenis Smooth Scroll
- Icons: Phosphor Icons
- Charts: Recharts
- i18n: next-intl
├── app/[locale]/ # Folder utama rute aplikasi (Localized)
│ ├── (auth)/ # Rute autentikasi (Login, Register)
│ ├── (routes)/ # Rute utama (Dashboard, Halaman Statis)
│ ├── feature/ # Komponen logika per fitur (Account, Budgeting)
│ └── api/ # Route Handlers API (Backend)
├── components/ # Komponen UI Reusable
│ ├── blocks/ # Section halaman (Hero, FAQ, CTA)
│ └── ui/ # Komponen dasar (Button, Input, dll)
├── hooks/ # Custom React Hooks
├── i18n/ # Konfigurasi Internationalization
├── lib/ # Utilitas dan konfigurasi DB (Drizzle Schema)
├── messages/ # File terjemahan (id.json, en.json, zh.json)
├── public/ # Aset statis dan konfigurasi PWA
└── types/ # Definisi tipe TypeScript global
Sebelum memulai, pastikan Anda telah menginstal:
- Node.js (versi 20 atau terbaru)
- npm / yarn / pnpm / bun
| Command | Action |
|---|---|
npm run dev |
Menjalankan server pengembangan (Hot reload aktif) |
npm run build |
Membuat build produksi aplikasi |
npm run start |
Menjalankan aplikasi yang sudah di-build |
npm run lint |
Menjalankan pengecekan ESLint |
npx drizzle-kit push |
Sinkronisasi schema database |
- Functional Components: Gunakan arrow functions untuk komponen React.
- TypeScript: Gunakan interface untuk props dan hindari penggunaan
any. - i18n: Jangan menulis teks statis langsung di JSX, gunakan
useTranslations. - Naming Convention: Gunakan
kebab-caseuntuk nama file danPascalCaseuntuk komponen.
Aplikasi ini dioptimalkan untuk di-deploy ke Vercel. Pastikan untuk mengatur Environment Variables berikut di dashboard deployment Anda:
AUTH_SECRETDATABASE_URLNEXTAUTH_URLAUTH_GOOGLE_IDAUTH_GOOGLE_SECRETAUTH_GITHUB_IDAUTH_GITHUB_SECRETAUTH_DISCORD_IDAUTH_DISCORD_SECRETAUTH_PATREON_IDAUTH_PATREON_SECRETTURSO_AUTH_TOKENTURSO_DATABASE_URLI18NEXUS_API_KEYML_PREDIC_BUDGET_URLML_MODEL_INVEST
- Fork project ini.
- Buat fitur branch baru (
git checkout -b feature/AmazingFeature). - Commit perubahan Anda (
git commit -m \"Add some AmazingFeature\"). - Push ke branch tersebut (
git push origin feature/AmazingFeature). - Buka Pull Request.
- Email: hello@split-wise.app
- GitHub: github.com/SplitWisee
- Website: split-wise.app
© 2026 Splitwise. All rights reserved.