Commit d635fc6
Add Advanced AI Analytics Dashboard with Floating Menu Navigation
This major update introduces a comprehensive analytics system and modern navigation design:
🧠 Advanced AI Analytics System:
- FinancialInsight entity with 15+ insight types and severity levels
- FinancialGoal, SpendingPattern, and SpendingForecast entities for comprehensive tracking
- AdvancedAnalyticsService with intelligent financial analysis algorithms
- AnalyticsFragment with interactive dashboard and real-time health scoring
- InsightAdapter and InsightDetailsDialogFragment for detailed insight exploration
- AnalyticsViewModel with financial health calculation (savings rate, goal progress, expense stability)
🎨 Modern Navigation Design:
- Removed toolbar for clean, full-screen experience
- Added floating menu button (⋮) in top-right corner for additional features
- Maintained 5-tab bottom navigation limit (Overview, Transactions, Loans, Budget, Analytics)
- Floating menu provides access to Settings, Statistics, Store Management, Export, Backup, About
- Clean Material Design 3 interface without cluttered toolbar
🗄️ Database Enhancements:
- Upgraded to database version 18 with migration support
- Added 4 new analytics entities with comprehensive DAOs
- TypeConverters for complex data types (InsightType, GoalType, Severity enums)
- Serializable entities for dialog fragment data passing
📊 Technical Architecture:
- MVVM pattern with AnalyticsViewModelFactory
- Repository pattern ready for analytics data management
- Coroutines-based async operations for smooth performance
- LiveData observers for reactive UI updates
- Error handling and loading states throughout
🔧 UI/UX Improvements:
- SwipeRefreshLayout for manual analytics refresh
- Progress bars and status indicators for financial health scoring
- Insight categorization with color-coded severity levels
- Interactive cards with click handlers for detailed views
- Snackbar feedback for user actions
📝 Documentation:
- Comprehensive README update with all new features
- Detailed analytics system documentation
- Navigation design explanations
- Technical architecture overview
This release transforms CashInCashOut into an advanced financial analytics platform while maintaining the clean, intuitive design users expect.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>1 parent d27f0e3 commit d635fc6
File tree
9,520 files changed
+354454
-33790
lines changed- .gradle
- 8.2
- checksums
- executionHistory
- fileHashes
- buildOutputCleanup
- app
- build
- generated
- data_binding_base_class_source_out
- debug/out/com/example/budgetapp/databinding
- release/out/com/example/budgetapp/databinding
- res/resValues
- androidTest/debug/values
- debug/values
- release/values
- source/kapt
- debug/com/example/budgetapp/database
- dao
- release/com/example/budgetapp/database
- dao
- intermediates
- annotation_processor_list
- debugUnitTest
- releaseUnitTest
- release
- apk_ide_redirect_file/release
- app_metadata/release
- assets/release/mlkit_barcode_models
- binary_art_profile_metadata/release
- binary_art_profile/release
- compatible_screen_manifest/release
- compile_and_runtime_not_namespaced_r_class_jar
- debug
- release
- compile_app_classes_jar
- debug
- release
- compressed_assets/release/out/assets/mlkit_barcode_models
- data_binding_base_class_log_artifact
- debug/out
- release/out
- data_binding_layout_info_type_merge
- debug/out
- release/out
- data_binding_layout_info_type_package
- debug/out
- release/out
- default_proguard_files/global
- desugar_graph/release/out/currentProject
- dirs_bucket_0
- dirs_bucket_1
- dirs_bucket_2
- dirs_bucket_3
- dirs_bucket_4
- dirs_bucket_5
- dirs_bucket_6
- dirs_bucket_7
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_0
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_1
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_2
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_3
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_4
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_5
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_6
- jar_74c43bab97772e6393a499dd38274f3825ab5bdd9378802a1efe9d7b9678d348_bucket_7
- dex_archive_input_jar_hashes
- debug
- release
- dex_number_of_buckets_file/release
- dex
- debug
- mergeExtDexDebug
- mergeProjectDexDebug
- 0
- 10
- 11
- 13
- 14
- 15
- 3
- 4
- 5
- 7
- 9
- release/mergeDexRelease
- external_libs_dex/release/mergeExtDexRelease
- incremental
- dataBindingGenBaseClassesDebug
- dataBindingGenBaseClassesRelease
- debug-mergeJavaRes
- zip-cache
- debug
- mergeDebugResources
- merged.dir/values
- stripped.dir/layout
- packageDebugResources
- merged.dir/values
- stripped.dir/layout
- lintAnalyzeDebug
- lintReportDebug
- lintVitalAnalyzeRelease
- mergeReleaseAssets
- mergeReleaseJniLibFolders
- mergeReleaseShaders
- packageDebug/tmp/debug
- zip-cache
- packageRelease/tmp/release
- zip-cache
- processDebugResources
- release-mergeJavaRes
- zip-cache
- release
- mergeReleaseResources
- merged.dir
- values-af
- values-am
- values-ar
- values-as
- values-az
- values-b+es+419
- values-b+sr+Latn
- values-be
- values-bg
- values-bn
- values-bs
- values-ca
- values-cs
- values-da
- values-de
- values-el
- values-en-rAU
- values-en-rCA
- values-en-rGB
- values-en-rIN
- values-en-rXC
- values-es-rUS
- values-es
- values-et
- values-eu
- values-fa
- values-fi
- values-fr-rCA
- values-fr
- values-gl
- values-gu
- values-h320dp-port-v13
- values-h360dp-land-v13
- values-h480dp-land-v13
- values-h550dp-port-v13
- values-h720dp-v13
- values-hdpi-v4
- values-hi
- values-hr
- values-hu
- values-hy
- values-in
- values-is
- values-it
- values-iw
- values-ja
- values-ka
- values-kk
- values-km
- values-kn
- values-ko
- values-ky
- values-land
- values-large-v4
- values-ldltr-v21
- values-ldrtl-v17
- values-lo
- values-lt
- values-lv
- values-mk
- values-ml
- values-mn
- values-mr
- values-ms
- values-my
- values-nb
- values-ne
- values-night-v8
- values-nl
- values-or
- values-pa
- values-pl
- values-port
- values-pt-rBR
- values-pt-rPT
- values-pt
- values-ro
- values-ru
- values-si
- values-sk
- values-sl
- values-small-v4
- values-sq
- values-sr
- values-sv
- values-sw600dp-v13
- values-sw
- values-ta
- values-te
- values-th
- values-tl
- values-tr
- values-uk
- values-ur
- values-uz
- values-v16
- values-v17
- values-v18
- values-v21
- values-v22
- values-v23
- values-v24
- values-v25
- values-v26
- values-v28
- values-v31
- values-v34
- values-vi
- values-w320dp-land-v13
- values-w360dp-port-v13
- values-w400dp-port-v13
- values-w600dp-land-v13
- values-watch-v20
- values-watch-v21
- values-xlarge-v4
- values-zh-rCN
- values-zh-rHK
- values-zh-rTW
- values-zu
- values
- stripped.dir/layout
- packageReleaseResources
- merged.dir
- values-night-v8
- values
- stripped.dir/layout
- java_res
- debug/out/META-INF
- release/out
- META-INF
- javac
- debug/classes/com/example/budgetapp
- database
- dao
- databinding
- release/classes/com/example/budgetapp
- database
- dao
- databinding
- lint-cache
- maven.google
- androidx
- activity
- appcompat
- camera
- constraintlayout
- core
- lifecycle
- room
- swiperefreshlayout
- test
- espresso
- ext
- viewpager2
- work
- com/google
- android
- gms
- libraries/places
- material
- mlkit
- sdk_index
- lint_intermediate_text_report/debug
- lint_partial_results/debug/out
- lint_return_value/debug
- lint_vital_partial_results/release/out
- local_only_symbol_list
- debug
- release
- manifest_merge_blame_file
- debug
- release
- merged_art_profile/release
- merged_java_res
- debug
- release
- merged_manifests
- debug
- release
- merged_manifest
- debug
- release
- merged_native_libs/release/out/lib
- arm64-v8a
- armeabi-v7a
- x86_64
- x86
- merged_res_blame_folder
- debug/out
- multi-v2
- single
- release/out
- multi-v2
- single
- merged_res
- debug
- release
- metadata_library_dependencies_report/release
- optimized_processed_res/release
- packaged_manifests
- debug
- release
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
9,520 files changed
+354454
-33790
lines changedBinary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
0 commit comments