Skip to content
kupzedPublic

About

A personal finance management app powered by Next.js and Supabase. Key features include transaction tracking, account management, custom categories, debt tracking, monthly overviews, Excel/PDF exports, and AI-driven automated data entry.

Topics

Resources

Security policy

Stars

34 stars

Watchers

2 watching

Forks

Latest commit

 

History

257 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CatatZ

CatatZ adalah aplikasi pencatatan keuangan pribadi berbasis Next.js dan Supabase PostgreSQL. Aplikasi ini membantu user mencatat pemasukan, pengeluaran, transfer, koreksi saldo, rekening, kategori, hutang/piutang, rekap keuangan, dan export laporan PDF/XLSX/CSV.

Tech Stack

  • Next.js 16 App Router
  • React 19 dan TypeScript
  • Supabase Auth, Supabase PostgreSQL, dan Supabase Storage
  • Server Actions dan Route Handler Next.js
  • Tailwind CSS v4 dan shadcn/ui
  • React Hook Form, Zod, Sonner, Recharts, date-fns
  • Serwist untuk PWA/service worker
  • Vercel untuk deployment

Fitur Utama

  • Auth email/password dengan session Supabase.
  • Manajemen transaksi income, expense, transfer, dan correction.
  • Manajemen rekening dengan saldo, logo, warna, dan opsi exclude dari total.
  • Kategori system dan kategori custom user.
  • Hutang/piutang dengan cicilan dan status pelunasan.
  • Rekap analitik keuangan terpadu: tab Realtime siklus berjalan, Bulanan terarsip mundur, Custom periode bebas, cut-off siklus fleksibel, toggle akumulasi saldo, halaman detail metrik finansial, dan drill-down transaksi individual.
  • Pengaturan profil, avatar, password, tema, dan export PDF/XLSX/CSV.
  • PWA install prompt, offline shell, update prompt, dan offline queue untuk aksi transaksi.
  • Input suara transaksi menggunakan browser Speech Recognition dan Gemini API server-side.

Quick Start

npm install
Copy-Item .env.example .env.local
npm run dev

Buka http://localhost:3000. Untuk shell non-PowerShell, gunakan command copy yang setara, misalnya cp .env.example .env.local.

Environment Setup

Isi .env.local berdasarkan .env.example.

Variable wajib minimal:

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • NEXT_PUBLIC_APP_URL
  • AI_API_KEY

Jangan commit .env.local, .env, token, service role key, atau credential production.

Command Penting

npm run dev
npm run lint
npm run typecheck
npm run test
npm run test:coverage
npm run verify:quick
npm run verify
npm run build
npm run start
npm run generate-icons

Catatan build: script production menggunakan next build --webpack karena service worker Serwist dihasilkan melalui konfigurasi webpack.

Documentation

Dokumentasi teknis lengkap tersedia di docs/README.md.

Mulai dari:

Status Project

Status: Production (Live). CatatZ sudah aktif beroperasi di tahap production dan berjalan live. Semua perubahan kode wajib menjaga stabilitas, backward compatibility, keamanan data finansial, serta kepatuhan terhadap aturan arsitektur & desain yang ada. Dokumentasi ini mengikuti kondisi repository saat ini dan wajib ikut diperbarui setiap ada perubahan fitur, database, auth, environment variable, deployment, security, atau struktur folder.

Lisensi

MIT License — Copyright © 2026 Kupzed

About

A personal finance management app powered by Next.js and Supabase. Key features include transaction tracking, account management, custom categories, debt tracking, monthly overviews, Excel/PDF exports, and AI-driven automated data entry.

Topics

Resources

Security policy

Stars

34 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Contributors

Languages