How dinhan125/cashew_group8_mobile works
Cashew is a cross-platform Flutter personal-finance app. Users organize accounts and currencies, record and find transactions, and review budgets, goals, and spending insights; the app persists finance data locally and offers sync, backup, reminders, and automation. The tree and README support these capability-level relationships, but the supplied source excerpts are platform boilerplate and a web SQLite engine, not the Dart application logic. Consequently, links between individual screens and services are shown only where README-described workflows support them.
Main entry points: tables.dart Local finance database · main.dart App entry · accountsPage.dart Accounts · syncClient.dart Cross-device sync
Components 21
Application shell
- App entry
budget/lib/main.dart - Home dashboard
budget/lib/pages/homePage/homePage.dart - Settings
budget/lib/pages/settingsPage.dart
Finance workflows
- Transactions
budget/lib/pages/addTransactionPage.dart - Search and filters
budget/lib/pages/transactionsSearchPage.dart - Accounts
budget/lib/pages/accountsPage.dart - Budgets
budget/lib/pages/budgetPage.dart - Goals
budget/lib/pages/objectivePage.dart - Spending insights
budget/lib/pages/homePage/homePageAllSpendingSummary.dart - Currency conversion
budget/lib/struct/currencyFunctions.dart
Data and sync
- Local finance database
budget/lib/database/tables.dart - Database setup
budget/lib/database/initializeDefaultDatabase.dart - Cross-device sync
budget/lib/struct/syncClient.dart - Import and backup
budget/lib/widgets/exportDB.dart - CSV transfer
budget/lib/widgets/importCSV.dart
Platform services
- Google login
budget/lib/struct/firebaseAuthGlobal.dart - Firebase
- Google Drive
- Reminders
budget/lib/struct/initializeNotifications.dart - Exchange rates
budget/lib/pages/exchangeRatesPage.dart
Other components
- User
Connections 27
- User → App entry: opens
- App entry → Database setup: initializes
- Database setup → Local finance database: creates or opens
- App entry → Home dashboard: shows
- User → Transactions: records
- Transactions → Local finance database: writes transactions
- User → Search and filters: searches
- Search and filters → Local finance database: queries transactions
- User → Accounts: manages
- Accounts → Local finance database: stores account data
- User → Budgets: plans spending
- Budgets → Local finance database: stores budgets
- User → Goals: sets goals
- Goals → Local finance database: stores goals
- Home dashboard → Spending insights: presents summaries
- Spending insights → Local finance database: reads finance data
- Accounts → Currency conversion: selects currency
- Currency conversion → Exchange rates: uses rates
- User → Settings: configures
- Cross-device sync → Local finance database: synchronizes data
- Cross-device sync → Firebase: syncs across devices
- Google login → Firebase: authenticates with
- User → Import and backup: backs up or restores
- Import and backup → Google Drive: backs up data
- User → CSV transfer: imports records
- CSV transfer → Local finance database: imports transactions
- Reminders → User: sends reminders