How robertave1727/expensetracker works
ZeroBalance is a personal expense-tracking application: users register or sign in, then manage transactions, categories and budgets, and review spending through dashboard, alerts and insight views. The sampled code shows the app routing, session handling, Supabase-backed authentication, and budget persistence; other capabilities are represented from the source tree and route declarations, but their internal wiring is not inferred. Supabase is the documented backend dependency in the sampled services.
Main entry points: App.tsx App Router · supabaseClient.ts Supabase Client · useAuth.ts Session and Auth · authWrapper.tsx Auth Screen
Components 24
Application
- App Router
src/App.tsx - Settings
src/components/settings.tsx - Navigation
src/components/sidebar.tsx
Account Access
- Auth Screen
src/components/authWrapper.tsx - Login
src/components/login.tsx - Register
src/components/register.tsx - Session and Auth
src/services/useAuth.ts - Registration Hook
src/services/useRegister.ts
Financial Management
- Transactions
src/components/transaction.tsx - Add Transaction
src/features/addTransaction.tsx - Delete Transaction
src/features/deleteTransaction.tsx - Categories
src/components/category.tsx - New Category
src/features/newCategory.tsx - Delete Category
src/features/deleteCategory.tsx - Budget Limits
src/features/budgetLimit.tsx
Review and Support
- Dashboard
src/components/dashboard.tsx - Smart Insights
src/features/smartInsights.tsx - Alerts
src/features/alerts.tsx - Support
src/components/support.tsx
Backend and Services
- Transaction Service
src/services/transactionService.ts - Budget Service
src/services/budgetService.ts - Supabase Client
src/services/supabaseClient.ts
Other components
- User
- Supabase
Connections 25
- User → App Router: uses
- App Router → Auth Screen: routes
- Auth Screen → Login: shows
- Auth Screen → Register: shows
- Login → Session and Auth: verifies credentials
- Register → Registration Hook: registers account
- Session and Auth → Supabase Client: calls
- Registration Hook → Supabase Client: calls
- App Router → Supabase Client: checks session
- Supabase Client → Supabase: connects
- App Router → Dashboard: routes
- App Router → Transactions: routes
- App Router → Categories: routes
- App Router → Budget Limits: routes
- App Router → Smart Insights: routes
- App Router → Alerts: routes
- App Router → Settings: routes
- App Router → Support: routes
- App Router → Navigation: renders
- Budget Limits → Session and Auth: reads user
- Budget Limits → Budget Service: saves budget
- Budget Service → Supabase Client: calls
- Transaction Service → Supabase Client: calls
- Dashboard → Session and Auth: reads user
- Smart Insights → Session and Auth: reads user