A Simple Expense Tracker App 📱 built to demonstrate the use of modern android architecture component with MVVM and Jetpack Compose.
- Clone the repository.
- Open in Android Studio (minimum android studio arctic fox)..
-
Kotlin - First class and official programming language for Android development.
-
Coroutines - For asynchronous and more..
-
Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Kotlin Flow - In coroutines, a flow is a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
-
- Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
- Hilt-ViewModel - DI for injecting
ViewModel
.
-
Material Components for Android - Modular and customizable Material Design UI components for Android.
-
Room - The Room persistence library provides an abstraction layer over SQLite to allow fluent database access while harnessing the full power of SQLite
-
Jetpack Compose - Jetpack Compose is Android’s modern toolkit for building native UI. It simplifies and accelerates UI development on Android
# Root Package
├── database # room database
├── modals # DataClasses
├── di # Dependency Injection
├── ui # Activity/View layer
├── repositories # Single source of data
└── utils # Utility Classes / Kotlin extensions
This app uses MVVM (Model View View-Model) architecture.