How tranhuyhoang69/do-an-tot-nghiep works
MoneyMatev2 appears to be an Android personal-finance app. Its likely user flow is entering or scanning a transaction, then reviewing spending and budgets; the tree also shows account, category, recurring-transaction, reminder, security, statistics, and sync features. The README provides no capability or wiring details, and no runtime source was excerpted, so relationships below are dashed and unverified rather than asserted as inspected calls.
Main entry points: TransactionRepositoryImpl.kt Data repositories · NavGraph.kt Navigation · AddTransactionScreen.kt Transaction entry · CreateReminderUseCase.kt Reminder rules
Components 20
User experience
- App entry
app/src/main/java/com/example/moneymatev2/MainActivity.kt - Navigation
app/src/main/java/com/example/moneymatev2/navigation/NavGraph.kt - Finance screens
app/src/main/java/com/example/moneymatev2/presentation/home/HomeScreen.kt - Transaction entry
app/src/main/java/com/example/moneymatev2/presentation/transaction/AddTransactionScreen.kt - Receipt scanning
app/src/main/java/com/example/moneymatev2/presentation/ocr/OcrScanScreen.kt - Budget screens
app/src/main/java/com/example/moneymatev2/presentation/budget/BudgetScreen.kt - Statistics
app/src/main/java/com/example/moneymatev2/presentation/statistics/StatisticsScreens.kt - Account settings
app/src/main/java/com/example/moneymatev2/presentation/profile/ProfileScreen.kt
Finance domain
- Transaction rules
app/src/main/java/com/example/moneymatev2/domain/usecase/transaction/CreateTransactionUseCase.kt - Budget overview
app/src/main/java/com/example/moneymatev2/domain/usecase/GetMonthlyBudgetOverviewUseCase.kt - Recurring schedules
app/src/main/java/com/example/moneymatev2/domain/usecase/recurring/RecurringScheduleCaculator.kt - Reminder rules
app/src/main/java/com/example/moneymatev2/domain/usecase/reminder/CreateReminderUseCase.kt - Sync orchestration
app/src/main/java/com/example/moneymatev2/domain/usecase/SyncOrchestrator.kt
Local data
- Data repositories
app/src/main/java/com/example/moneymatev2/data/repository/TransactionRepositoryImpl.kt - Room database
app/src/main/java/com/example/moneymatev2/data/local/AppDatabase.kt
Platform services
- Receipt OCR
app/src/main/java/com/example/moneymatev2/data/ocr/MlKitOcrProcessor.kt - Reminder delivery
app/src/main/java/com/example/moneymatev2/data/reminder/AlarmReminderScheduler.kt - Cloud sync
app/src/main/java/com/example/moneymatev2/data/remote/sync/CloudPullService.kt
Other components
- User
- Cloud backend
Connections 18
- User → App entry: opens
- App entry → Navigation: starts
- Navigation → Finance screens: routes to
- Finance screens → Transaction entry: offers entry
- Transaction entry → Transaction rules: submits transaction
- Receipt scanning → Receipt OCR: requests scan
- Receipt OCR → Transaction entry: provides receipt data
- Budget screens → Budget overview: requests overview
- Statistics → Data repositories: reads finance data
- Account settings → Navigation: configures app
- Transaction rules → Data repositories: persists transaction
- Budget overview → Data repositories: reads budget data
- Recurring schedules → Data repositories: stores schedules
- Reminder rules → Data repositories: stores reminders
- Reminder rules → Reminder delivery: schedules alerts
- Data repositories → Room database: reads and writes
- Sync orchestration → Cloud sync: coordinates sync
- Cloud sync → Cloud backend: exchanges data