How fadiabdeljawwad/fintrack-ai works
FinTrack AI is a Flutter personal-finance app. Its main user workflow is securing an account, entering or capturing a transaction (including voice/AI-assisted entry), organizing it, and reviewing financial activity. The graph also retains documented currency conversion, dashboard analytics, receipt analysis, and cloud synchronization. The README describes these capabilities, but the sampled source is primarily platform runner/plugin code; feature-level arrows therefore reflect documented relationships, not inspected Dart call sites. Budgeting and reports are documented, but the tree shows no distinct budget or reporting implementation.
Main entry points: lock_screen.dart App lock · voice_entry_screen.dart Voice entry · transaction_controller.dart Transaction controller · login_screen.dart Sign-in & onboarding
Components 24
Access & Security
- Sign-in & onboarding
lib/features/auth/presentation/screens/login_screen.dart - Authentication state
lib/features/auth/presentation/state/auth_controller.dart - Auth repository
lib/features/auth/data/repositories/auth_repository_impl.dart - App lock
lib/features/auth/presentation/screens/lock_screen.dart
Transactions & Currency
- Transaction screens
lib/features/transactions/presentation/screens/transactions_screen.dart - Voice entry
lib/features/transactions/presentation/screens/voice_entry_screen.dart - Speech recognition
lib/features/transactions/presentation/state/use_speech_recognition.dart - Transaction controller
lib/features/transactions/presentation/state/transaction_controller.dart - Transaction model
lib/features/transactions/domain/models/transaction_model.dart - Transaction repository
lib/features/transactions/data/repositories/firestore_transaction_repository.dart - Transaction data source
lib/features/transactions/data/datasources/tx_remote_datasource.dart - AI transaction parsing
lib/features/transactions/domain/usecases/parse_gemini_transaction_usecase.dart - Currency conversion
lib/features/currency/data/services/exchange_rate_service.dart - Currency selection
lib/features/currency/presentation/state/currency_controller.dart - Wallet management
lib/features/wallets/data/repositories/firestore_wallet_repository.dart - Receipt capture
lib/features/transactions/presentation/screens/voice_entry_screen.dart
Financial Overview
- Dashboard & analytics
lib/features/dashboard/presentation/screens/home_screen.dart
Shared Services
- Firebase Auth
- Biometric service
lib/core/services/biometric_service.dart - Cloud Firestore
- Gemini service
lib/core/services/gemini_service.dart - Secure local storage
lib/core/services/secure_storage_service.dart - Firebase Storage
Other components
- Finance user
Connections 24
- Finance user → Sign-in & onboarding: signs in
README.md - Sign-in & onboarding → Authentication state: submits credentials
README.md - Authentication state → Auth repository: authenticates
README.md - Auth repository → Firebase Auth: uses identity
README.md - Finance user → App lock: unlocks app
README.md - App lock → Biometric service: checks biometrics
README.md - Finance user → Transaction screens: manages transactions
README.md - Finance user → Voice entry: dictates expense
README.md - Voice entry → Speech recognition: captures speech
README.md - Transaction screens → Transaction controller: manages entries
README.md - Transaction controller → Transaction model: tracks transactions
README.md - Transaction controller → Transaction repository: persists transactions
README.md - Transaction repository → Transaction data source: uses data source
README.md - Transaction data source → Cloud Firestore: syncs records
README.md - Voice entry → AI transaction parsing: interprets entry
README.md - AI transaction parsing → Gemini service: requests analysis
README.md - Finance user → Currency selection: chooses currency
README.md - Currency selection → Currency conversion: converts amounts
README.md - Finance user → Dashboard & analytics: reviews finances
README.md - Dashboard & analytics → Cloud Firestore: reads activity
README.md - Finance user → Wallet management: organizes finances
- Finance user → Receipt capture: scans receipt
README.md - Receipt capture → Firebase Storage: stores documents
README.md - App lock → Secure local storage: protects local data
README.md