How linhdontcare/cashew-group7 works
Cashew is a cross-platform personal-finance app. The main workflow is recording and reviewing transactions, then organizing them into budgets and accounts to monitor spending and goals. Drift provides local structured storage; Firebase supports account-related features and synchronization. The README also documents currency conversion, backup/import, reminders, and financial dashboards. The graph uses the README and repository tree for these product areas; sampled implementation excerpts are limited, so internal call wiring is shown only at a broad level.
Main entry points: databaseGlobal.dart Database access · main.dart App entry · homePage.dart Home dashboard · addTransactionPage.dart Transactions
Components 20
App experience
- App entry
budget/lib/main.dart - Home dashboard
budget/lib/pages/homePage/homePage.dart
Finance workflows
- Transactions
budget/lib/pages/addTransactionPage.dart - Search and history
budget/lib/pages/transactionsListPage.dart - Budgets
budget/lib/pages/budgetPage.dart - Objectives
budget/lib/pages/objectivePage.dart - Wallets and accounts
budget/lib/pages/accountsPage.dart - Currencies and rates
budget/lib/pages/exchangeRatesPage.dart - Schedules and reminders
budget/lib/struct/upcomingTransactionsFunctions.dart
Local data
- Database access
budget/lib/struct/databaseGlobal.dart - Finance tables
budget/lib/database/tables.dart - Drift database
budget/lib/database/platform/shared.dart
Connected services
- Sync client
budget/lib/struct/syncClient.dart - Firebase auth
budget/lib/struct/firebaseAuthGlobal.dart - Firebase
- Backup and restore
budget/lib/widgets/accountAndBackup.dart - CSV import export
budget/lib/widgets/importCSV.dart - Notifications
budget/lib/struct/notificationsGlobal.dart
Other components
- User
- Exchange-rate service
Connections 24
- User → App entry: opens
- App entry → Home dashboard: shows
- User → Transactions: records
- User → Search and history: reviews
- User → Budgets: plans spending
- User → Objectives: tracks goals
- User → Wallets and accounts: manages accounts
- Transactions → Database access: stores transaction
- Search and history → Database access: queries history
- Budgets → Database access: reads spending
- Objectives → Database access: tracks progress
- Wallets and accounts → Database access: reads accounts
- Home dashboard → Database access: loads summaries
- Database access → Finance tables: uses schema
- Database access → Drift database: reads and writes
- User → Currencies and rates: converts amounts
- Currencies and rates → Exchange-rate service: gets rates
- User → Backup and restore: backs up data
- Backup and restore → Sync client: syncs data
- Sync client → Firebase: exchanges data
- Firebase auth → Firebase: authenticates
- User → CSV import export: imports or exports
- Schedules and reminders → Notifications: schedules alerts
- Notifications → User: notifies