How tarangpatel03/equisplit works
EquiSplit is an offline-first group expense tracker. Users add members and record expenses with payer contributions and equal, exact, shares-based, or itemized splits; the app persists data locally and presents group and pairwise balances, settlement recommendations, expense details, and spending analytics. The graph follows the sampled app initialization, home and member hooks, expense-save hook, category manager, and SQLite service. Other documented features are retained at their supported screen or subsystem paths; their internal wiring was not sampled.
Main entry points: RootNavigation.tsx App navigation · database.service.ts SQLite database · useHomeScreen.ts Home data hook · useMembersScreen.ts Member data hook
Components 17
App experience
- App bootstrap
App.tsx - App navigation
src/navigation/RootNavigation.tsx - Home dashboard
src/screens/Home/index.tsx - Home data hook
src/screens/Home/hooks/useHomeScreen.ts
Expense workflows
- Expense editor
src/screens/AddEditExpense/index.tsx - Expense save hook
src/screens/AddEditExpense/hooks/useAddEditExpense.ts - Expense details
src/screens/SplitDetails/index.tsx - Category manager
src/components/common/CategoryManagerModal.tsx
Balances and insights
- Member management
src/screens/Members/index.tsx - Member data hook
src/screens/Members/hooks/useMembersScreen.ts - Spending analytics
src/screens/Analytics/index.tsx - Analytics hook
src/screens/Analytics/hooks/useAnalytics.ts - Balance calculations
src/utils/balance.ts
Local data
- Redux state
src/store/store.ts - SQLite database
src/services/database/database.service.ts - Category defaults
src/config/categories.config.ts
Other components
- App user
Connections 24
- App user → App navigation: opens screens
- App bootstrap → SQLite database: initializes
- App bootstrap → App navigation: renders
- App navigation → Home dashboard: routes to
- App navigation → Expense editor: routes to
- App navigation → Expense details: routes to
- App navigation → Member management: routes to
- App navigation → Spending analytics: routes to
- Home dashboard → Home data hook: uses
- Home data hook → SQLite database: loads and writes
- Home data hook → Redux state: dispatches state
- Home data hook → Balance calculations: computes balances
- Expense editor → Expense save hook: uses
- Expense save hook → SQLite database: saves expenses
- Expense save hook → Redux state: dispatches updates
- Member management → Member data hook: uses
- Member data hook → SQLite database: adds and removes
- Member data hook → Redux state: dispatches updates
- Member data hook → Balance calculations: computes balances
- Spending analytics → Analytics hook: uses
- Category manager → SQLite database: manages categories
- Category manager → Redux state: dispatches updates
- Category manager → SQLite database: reloads expenses
- SQLite database → Category defaults: seeds defaults