How yixun06/smart-pocket works
Smart Pocket is a Flutter personal-finance app. Users manage accounts and transactions, organize categories and budgets, plan recurring transactions, enter transactions quickly with shortcuts, and review analytics with PDF export; settings include themes. The tree shows presentation, controller, and data-service layers, while the README documents Firebase Authentication and Cloud Firestore. Dart implementation excerpts were not provided, so the graph preserves the documented capabilities but omits unverified page-to-controller and service-to-backend call paths.
Main entry points: main.dart App entry
Components 21
Finance interface
- Accounts
lib/presentation/views/account/accounts_page.dart - Transactions
lib/presentation/views/transaction/transaction_page.dart - Quick entry
lib/presentation/views/transaction/add_transaction_page.dart - Categories
lib/presentation/views/category/category_page.dart - Budgets
lib/presentation/views/budget/budget_page.dart - Recurring plans
lib/presentation/views/recurring/recurring_page.dart - Shortcuts
lib/presentation/views/shortcut/shortcut_page.dart - Analytics
lib/presentation/views/stats/stats_page.dart - Settings
lib/presentation/views/settings/settings_page.dart
Application state
- Authentication
lib/application/controllers/authentication_controller.dart - Transaction state
lib/application/controllers/transaction_controller.dart - Budget state
lib/application/controllers/budget_controller.dart - Analytics state
lib/application/controllers/analytics_controller.dart
Data services
- Auth service
lib/data/services/auth_service.dart - Transaction service
lib/data/services/transaction_service.dart - Budget service
lib/data/services/budget_service.dart - PDF export
lib/data/services/pdf_service.dart
External services
- Firebase Auth
- Cloud Firestore
Other components
- Finance user
- App entry
lib/main.dart
Connections 3
- Finance user → App entry: uses
- App entry → Firebase Auth: uses
- App entry → Cloud Firestore: uses