Skip to content

SearchBooks is an app built with Jetpack Compose and architecture of MVVM + MVI.

License

Notifications You must be signed in to change notification settings

JoHwanhee/searchbook

Repository files navigation

SearchBooks

SearchBooks is an app built with Jetpack Compose and architecture of MVVM + MVI.

This sample showcases:

  • Books screen : the list of new books

  • Search of books screen : the list of searched books

    • Support keyword for search
      • addition operation: android|java
      • subtraction operation : android-java
      • direct search : "android-java"
    • Support Infinite scroll
      • when scroll meets the 5th item from the bottom, to load more items
  • Support caching

    • Improved loading speed by caching (sqlite and memory)
      • the flow of to get list of new books
        • memory caching
        • database caching (sqlite-room)
        • remote data
      • the flow of to get details of a book
        • database caching (sqlite-room)
        • remote data
      • the search method has no cached
  • Details of a book screen: the details of a selected book

  • Support android instrumented test

sample_1 sample_6 sample_3 sample_7 sample_4 sample_5

Full video : https://youtu.be/RB_gvO5JI5M

todo

  • jacoco coverage
  • report badge
  • CI with github actions
  • CD with firebase

Architecture

The project is layered with a View, Presentation, Model separation and presents a blend between MVVM and MVI.

Architecture layers:

  • View
  • ViewModel
  • Model

스크린샷 2022-02-16 오전 2 37 50

Test

  • android instrumented test
  • android unit test

API

Dependencies

MAD Score

madscore details

About

SearchBooks is an app built with Jetpack Compose and architecture of MVVM + MVI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages