A modern, offline-first financial analytics tool built to demonstrate Enterprise Android Architecture. It features complex data visualization, robust local persistence, and a custom design system without reliance on XML. Design Template Figma Credit-
This project follows Modern Android Development (MAD) standards to ensure scalability and performance:
- Architecture: Clean Architecture + MVVM separates the UI, Domain (Business Logic), and Data layers.
- UI Engine: Jetpack Compose (100% Kotlin) used for a fully declarative UI.
- State Management: Kotlin Flows & StateFlow ensure a reactive UI that updates automatically when data changes.
- Dependency Injection: Hilt is used for compile-time dependency verification and easier unit testing.
- Local Persistence: Room Database utilizes complex SQL queries and Window Functions to calculate spending trends directly on the device.
- Async Operations: Coroutines handle background database operations off the main thread.
- Visualization: MPAndroidChart integrated to render dynamic expense reports.
The app is modularized to ensure separation of concerns. The Domain layer contains pure Kotlin logic and is independent of the Android framework.
graph LR
UI[Compose UI] --> VM[ViewModel]
VM --> UC[Use Cases]
UC --> Rep[Repository Interface]
Rep --> Local[Room Database]
Local <--> DB[(SQLite)]
Follow these steps to build the project locally. This project uses the standard Gradle build system.
Before you begin, ensure you have the following installed:
- Android Studio: Koala Feature Drop or newer (Recommended).
- JDK: Java Development Kit 17 (Embedded in Android Studio).
- Android SDK: API Level 34 (UpsideDownCake).
Open your terminal and run:
git clone [https://github.com/R0GUE-A5H/SpendTrackrQ.git](https://github.com/R0GUE-A5H/SpendTrackrQ.git)
cd SpendTrackrQDesign Assets: This project uses design elements created by @irvan.
- Source: [https://www.figma.com/community/file/1080339303735258826]
- License: CC BY 4.0
- Changes: [ "Colors and designwere adjusted to match the app theme. New layout are added."]




