How callmerev95/cashtrix works
Cashtrix is a mobile personal-finance app whose main workflow is capturing and managing transactions across wallets, then reviewing balances, budgets, and server-aggregated analytics. Authentication gates the app; recurring rules can generate transactions, while receipt scanning, voice entry, search, CSV export, and account controls support the core workflow. The README documents server-side PostgreSQL aggregation and Supabase-backed features. Sampled source confirms several UI-to-context calls; unsampled feature wiring is shown only where documented, not as inferred sibling pipelines.
Main entry points: client.ts Supabase client · index.tsx Dashboard · recurring-context.tsx Recurring rules · budgets-context.tsx Budgets and alerts
Components 27
Mobile workflows
- Auth screens
app/(auth)/login.tsx - Dashboard
app/(tabs)/index.tsx - Transaction forms
app/add-transaction.tsx - Search and bulk edit
app/search.tsx - Receipt scanning
app/scan.tsx - Voice entry
app/voice.tsx
Finance management
- Wallet screens
app/wallets.tsx - Transaction state
src/features/transactions/transactions-context.tsx - Transaction API
src/features/transactions/api.ts - Wallet feature
src/features/wallets/wallets-context.tsx - Recurring rules
src/features/recurring/recurring-context.tsx - Recurring API
src/features/recurring/api.ts
Insights and alerts
- Analytics feature
src/features/analytics/analytics-context.tsx - Analytics API
src/features/analytics/api.ts - Budgets and alerts
src/features/budgets/budgets-context.tsx - Budget API
src/features/budgets/api.ts
Account and security
- Profile and categories
src/features/profile/profile-context.tsx - Authentication
src/features/auth/auth-context.tsx
Backend services
- Receipt processing
src/features/receipts/scan.ts - Receipt OCR function
supabase/functions/scan-receipt/index.ts - CSV export function
supabase/functions/export-csv/index.ts - Account deletion
supabase/functions/delete-account/index.ts - Supabase client
src/supabase/client.ts - Postgres database
Other components
- User
- Supabase services
- OS speech recognition
Connections 34
- User → Auth screens: signs in
- Auth screens → Authentication: authenticates
- User → Dashboard: uses
- Dashboard → Transaction state: loads history
- Dashboard → Wallet feature: loads balances
- Dashboard → Analytics feature: loads summary
- Dashboard → Budgets and alerts: shows alerts
- User → Transaction forms: enters transaction
- Transaction forms → Transaction state: saves transaction
- Transaction state → Transaction API: reads and writes
- Search and bulk edit → Transaction API: searches and edits
- Wallet screens → Wallet feature: manages wallets
- Recurring rules → Recurring API: runs catch-up
- Recurring rules → Transaction state: refreshes generated entries
- Recurring rules → Wallet feature: refreshes balances
- Recurring rules → Budgets and alerts: refreshes and evaluates
- Analytics feature → Analytics API: loads aggregates
- Budgets and alerts → Budget API: reads and records alerts
- Budgets and alerts → Supabase services: sends local push
- User → Receipt scanning: scans receipt
- Receipt scanning → Receipt processing: submits image
- Receipt processing → Receipt OCR function: invokes OCR
- User → Voice entry: dictates entry
- Voice entry → OS speech recognition: uses speech input
- User → Profile and categories: manages account
- Profile and categories → CSV export function: requests CSV export
- Profile and categories → Account deletion: requests account deletion
- Authentication → Supabase client: uses auth client
- Transaction API → Supabase client: queries
- Recurring API → Supabase client: calls RPC
- Analytics API → Supabase client: queries aggregates
- Budget API → Supabase client: queries and writes
- Supabase client → Postgres database: reads and writes
- Supabase services → Postgres database: stores user data