Skip to content

Android application demonstrating the use of JetPack Compose with Hilt, Navigation Component and MVVM architecture

Notifications You must be signed in to change notification settings

mende273/QuotesCompose

Repository files navigation

QuotesCompose

Kotlin Jetpack Compose Android Release

Android application demonstrating the use of JetPack Compose with Hilt, Navigation Component and MVVM architecture

For KMP version, refer to this project QuotesKMP

App Screenshots

Light Theme Dark Theme

Api

The project is using the free api from zenquotes.io

PreBuild

The preBuild depends on 2 tasks: ktlint and Detekt. You can manually run the tasks with ./gradlew ktlintFormat and ./gradlew detekt

Built With

  • 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.

Static Code Analysis

  • Ktlint - A library for formatting Kotlin code according to official guidelines.
  • Detekt - A static code analysis library for Kotlin.

Testing

  • MockWebServer - A scriptable web server for testing HTTP clients.
  • Truth - A library for performing assertions in tests.