Android application demonstrating the use of JetPack Compose with Hilt, Navigation Component and MVVM architecture
For KMP version, refer to this project QuotesKMP
Light Theme | Dark Theme |
---|---|
The project is using the free api from zenquotes.io
The preBuild depends on 2 tasks: ktlint and Detekt. You can manually run the tasks with ./gradlew ktlintFormat
and ./gradlew detekt
- Kotlin - First class and official programming language for Android development.
- Jetpack Compose - Android’s modern toolkit for building native UI.
- Coroutines and Flow - Official Kotlin's tooling for performing asynchronous work.
- Android Jetpack - Jetpack is a suite of libraries to help developers build state-of-the-art applications.
- Navigation Compose - Navigation Compose is a framework for navigating between composables while taking advantage of the Navigation component’s infrastructure and features.
- ViewModel - The ViewModel is designed to store and manage UI-related data in a lifecycle conscious way.
- StateFlow - StateFlow is a state-holder observable flow that emits the current and new state updates to its collectors.
- Room - The Room library provides an abstraction layer over SQLite to allow for more robust database access.
- Dagger Hilt - Hilt is a dependency injection library for Android.
- Accompanist - A collection of extension libraries for Jetpack Compose.
- OkHttp - An HTTP client for making network calls.
- Retrofit - A library for building REST API clients.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Ktlint - A library for formatting Kotlin code according to official guidelines.
- Detekt - A static code analysis library for Kotlin.
- MockWebServer - A scriptable web server for testing HTTP clients.
- Truth - A library for performing assertions in tests.