Skip to content

ankitraminwar/Hisab-Kitab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hisab Kitab

v1.0.0 — Offline-first personal finance manager for Android & iOS

Built with Expo 54, React Native 0.81.5, TypeScript, SQLite, and Supabase. Zero TypeScript errors, zero ESLint warnings.

Features

  • Dashboard — Animated hero card, donut chart for category breakdown, savings ring, budget progress, quick actions, recent transactions
  • Transactions — Add/edit income, expense & transfer with categories, accounts, payment methods, tags, notes, recurring support
  • Split Expenses — Google Pay-style sharing. Track balances friend-by-friend with swipeable By Split / By Friend views, and settle debts with one tap.
  • Budgets — Monthly per-category budgets with progress bars and over-budget alerts
  • Goals — Savings goals with target amounts, deadlines, and fund tracking
  • Notes — Colour-coded rich-text notes for financial reminders, goals, and ideas
  • Reports — Spending trend charts, category distribution, net worth tracker (assets vs liabilities)
  • Net Worth — Asset and liability management with history snapshots
  • Notifications — In-app budget-exceeded and goal-completion alerts
  • SMS Import — Auto-import bank/UPI transactions from SMS (Android native builds only)
  • Accounts — Manage bank, UPI, wallet, credit card, and investment accounts with a premium auto-scrolling glassmorphic carousel UI.
  • Cloud Sync — Bidirectional sync with Supabase (offline-first with sync queue)
  • Email Reports — Monthly summary email via Supabase Edge Function + Resend
  • Dark/Light Theme — Explicit or system-aware theming
  • Biometric Lock — Fingerprint/face unlock on app resume
  • Data Export — CSV transactions, PDF transactions, full JSON backup
  • Data Import — Restore from JSON backup
  • Android Widgets — Home screen widgets: Expense Summary, Budget Health, Quick Add
  • Analytics — Firebase Analytics for screen views, user events, and engagement tracking
  • Crashlytics — Firebase Crashlytics for crash reporting and JS error tracking

Stack

Layer Technology
Framework Expo ~54.0.0 + React Native 0.81.5
Language TypeScript (strict, 0 errors)
Routing expo-router ~6.0.23 (file-based, typed routes)
Local DB expo-sqlite ~16.0.10 (source of truth)
Remote DB Supabase (PostgreSQL + Auth + Edge Functions)
State Zustand ^4.4.0 + @tanstack/react-query ^5.28.0
Animations react-native-reanimated ~4.1.1, expo-linear-gradient
Charts @shopify/react-native-skia ^2.2.12, react-native-svg
Lists @shopify/flash-list 2.0.2
Widgets react-native-android-widget ^0.20.1
SMS parsing react-native-get-sms-android ^2.1.0
Analytics @react-native-firebase/analytics ^21.14.0
Linting ESLint ^9.0.0 + eslint-config-expo
Formatting Prettier (pre-commit via husky + lint-staged)

Local Setup

  1. Create .env:
EXPO_PUBLIC_SUPABASE_URL=your-project-url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
  1. Install and start:
yarn install
yarn start
  1. For SMS import or Android widgets, use a native build:
yarn android   # expo run:android

Backend Setup

Apply Supabase schema before sync will work:

# Paste into Supabase SQL editor:
supabase/schema.sql

Deploy email edge function:

npx supabase login
npx supabase link --project-ref SECRETES
npx supabase secrets set RESEND_API_KEY=your_resend_key RESEND_FROM_EMAIL=no-reply@yourdomain.com RESEND_FROM_NAME="Hisab Kitab"
npx supabase functions deploy send-email
# Add secrets in Supabase dashboard:
# RESEND_API_KEY
# RESEND_FROM_EMAIL
# Optional: RESEND_FROM_NAME

Enable email/password auth in Supabase dashboard.

Without backend setup the app runs in full local-only mode.

Commands

yarn start        # Start Expo dev server
yarn android      # Native Android build & run
yarn typecheck    # tsc --noEmit (must stay at 0 errors)
yarn lint         # ESLint --max-warnings 0 (must stay at 0)
yarn format       # Prettier
yarn doctor       # Expo doctor
yarn test         # Alias for typecheck

Docs

Document Purpose
docs/onboarding.md Start here — Setup → first PR in 2 hours
CONTRIBUTING.md Contribution guidelines, branch strategy, PR process
ARCHITECTURE.md Technical architecture — data layer, sync, state
AI_CONTEXT.md AI agent reference (full codebase context)
AGENT_SOP.md Code patterns, conventions, hard rules
PRODUCT_FEATURES.md Detailed product feature documentation
SUPABASE_SETUP.md Backend setup guide
DEPLOYMENT.md EAS build & deployment guide
CHANGELOG.md Release history
SECURITY.md Security policy & vulnerability reporting
docs/adr/ Architecture Decision Records
docs/runbooks/ Operational runbooks (sync, releases)

About

Professional Personal Finance App (Android/iOS). Built with React Native 0.81, TypeScript, SQLite, and Supabase. Includes automated SMS tracking, advanced split management, and biometric security.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors