How thangtranitwork/multi-wallet-management works
MultiWallet is an offline-first personal-finance mobile app for tracking wallets, transactions, debts, planned payments, and financial health. The main workflow is users navigating to a finance screen, recording or managing activity through shared wallet state, and persisting it in local SQLite; analytics and the home-screen widget surface derived results. The README documents installment repayment, category management, reminders, and analytics as distinct capabilities. Optional AI and cloud-backup integrations are shown separately. Some screens and service internals were not sampled, so uncertain call links are omitted.
Main entry points: WalletContext.tsx Wallet state · RootNavigator.tsx Root navigation · App.tsx App root · SecurityContext.tsx App security
Components 26
App navigation
- App root
App.tsx - Root navigation
src/navigation/RootNavigator.tsx - Wallet state
src/context/WalletContext.tsx - App security
src/context/SecurityContext.tsx
Finance workflows
- Dashboard
src/screens/DashboardScreen.tsx - Transactions
src/screens/TransactionsScreen.tsx - Wallet management
src/screens/WalletsScreen.tsx - Debt tracking
src/screens/DebtsScreen.tsx - Planned payments
src/components/PlannedExpensesModal.tsx - Category management
src/components/CategoryManagementModal.tsx
Insights and reminders
- Financial analytics
src/screens/AnalyticsScreen.tsx - Habit prediction
src/services/predictionService.ts - Habit reminders
src/services/habitNotificationService.ts
Device and integrations
- Home widget
src/widgets/WalletWidget.tsx - Widget actions
src/widgets/widgetTaskHandler.tsx - Widget sync
src/services/widgetSyncService.ts - Receipt scanning
src/services/geminiService.ts - Financial copilot
src/services/aiCopilotService.ts - Google Drive backup
src/services/googleDriveService.ts - Backup settings
src/services/cloudBackupStorage.ts - Local notifications
Local data
- Database queries
src/database/queries.ts - SQLite database
src/database/db.ts
Other components
- Mobile user
- Gemini API
- Google Drive
Connections 32
- Mobile user → App root: opens
- App root → Root navigation: mounts
- Root navigation → Dashboard: routes
- Root navigation → Transactions: routes
- Root navigation → Wallet management: routes
- Root navigation → Debt tracking: routes
- Root navigation → Financial analytics: routes
- Dashboard → Wallet state: reads state
- Transactions → Wallet state: records activity
- Wallet management → Wallet state: manages wallets
- Debt tracking → Wallet state: manages debts
- Planned payments → Wallet state: executes plans
- Category management → Wallet state: manages categories
- Financial analytics → Wallet state: reads summaries
- Wallet state → Database queries: queries and updates
- Database queries → SQLite database: reads and writes
- App root → App security: provides security
- App security → SQLite database: loads settings
- App security → Widget sync: syncs lock state
- Wallet state → Widget sync: syncs balances
- Widget actions → Widget sync: loads and saves
- Widget actions → Home widget: renders
- Wallet state → Habit prediction: uses transaction history
- Habit reminders → Habit prediction: detects habits
- Habit reminders → Local notifications: schedules
- Wallet state → Receipt scanning: scans receipts
- Receipt scanning → Gemini API: requests extraction
- Wallet state → Financial copilot: requests assistance
- Wallet state → Backup settings: loads backup settings
- Wallet state → Google Drive backup: uploads backup
- Backup settings → Database queries: stores settings
- Google Drive backup → Google Drive: transfers backup