How angelvtony/smartexpense works
SmartExpense is an Android expense-tracking app. Its tree indicates a user-facing flow for viewing a dashboard, managing transactions, and reviewing analysis, alongside local budget/transaction persistence and SMS/reporting features. The source excerpts contain only build configuration and the README is empty, so component wiring and detailed behavior cannot be verified; the graph therefore keeps relationships conservative and uses filenames to identify likely responsibilities.
Main entry points: MainActivity.kt Main activity · NavGraph.kt Navigation · DashboardScreen.kt Dashboard · AllTransactionsScreen.kt Transaction list
Components 23
App interface
- Main activity
app/src/main/java/com/example/smartexpense/MainActivity.kt - App setup
app/src/main/java/com/example/smartexpense/SmartExpenseApp.kt - Navigation
app/src/main/java/com/example/smartexpense/ui/navigation/NavGraph.kt - Dashboard
app/src/main/java/com/example/smartexpense/ui/dashboard/DashboardScreen.kt - Dashboard state
app/src/main/java/com/example/smartexpense/ui/dashboard/DashboardViewModel.kt - Transaction list
app/src/main/java/com/example/smartexpense/ui/all_transactions/AllTransactionsScreen.kt - Transaction editor
app/src/main/java/com/example/smartexpense/ui/add_edit/AddEditTransactionScreen.kt - Analysis dashboard
app/src/main/java/com/example/smartexpense/ui/analysis/AnalysisDashboardScreen.kt - Monthly overview
app/src/main/java/com/example/smartexpense/ui/analysis/MonthlyOverviewScreen.kt - Settings
app/src/main/java/com/example/smartexpense/ui/settings/SettingsScreen.kt
Domain logic
- Weekly insights
app/src/main/java/com/example/smartexpense/domain/usecase/GetWeeklyInsightsUseCase.kt - Transaction repository
app/src/main/java/com/example/smartexpense/domain/repository/TransactionRepository.kt - Budget repository
app/src/main/java/com/example/smartexpense/domain/repository/BudgetRepository.kt
Local data
- Transaction storage adapter
app/src/main/java/com/example/smartexpense/data/repository/TransactionRepositoryImpl.kt - Budget storage adapter
app/src/main/java/com/example/smartexpense/data/repository/BudgetRepositoryImpl.kt - Local database
app/src/main/java/com/example/smartexpense/data/local/AppDatabase.kt
Background features
- SMS receiver
app/src/main/java/com/example/smartexpense/data/sms/SmsReceiver.kt - SMS parser
app/src/main/java/com/example/smartexpense/data/sms/SmsParser.kt - SMS worker
app/src/main/java/com/example/smartexpense/data/sms/SmsWorker.kt - Report workers
app/src/main/java/com/example/smartexpense/data/worker/WeeklyReportWorker.kt - Monthly report worker
app/src/main/java/com/example/smartexpense/data/worker/MonthlyReportWorker.kt - Report exporter
app/src/main/java/com/example/smartexpense/util/ReportExporter.kt
Other components
- User
Connections 8
- User → Main activity: opens app
- Main activity → Navigation: starts navigation
- User → Dashboard: views
- User → Transaction list: manages expenses
- User → Transaction editor: edits transaction
- User → Analysis dashboard: reviews spending
- User → Monthly overview: reviews month
- User → Settings: configures