Skip to content

kupzed/catatz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 bulanan, breakdown kategori, dan tampilan budget jika data budget tersedia.
  • 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 test:e2e
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: aktif dikembangkan. Dokumentasi ini mengikuti kondisi repository saat ini dan perlu 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

License

Stars

32 stars

Watchers

2 watching

Forks

Sponsor this project

  •  

Contributors