Skip to content

This repository contains a simple app to hit Sport-Category Google-Books API and show a list of books, that shows book details when items on the list are tapped, also user is able to add books to his favorite list that implements MVI architecture using Hilt, Retrofit, RxJava, RoomDatabase, DataBinding and Navigation Component.

Notifications You must be signed in to change notification settings

Shehab-Alaa/GoogleBooks_MVI_Kotlin

Repository files navigation

GoogleBooks_MVI_Kotlin (Clean_Architecture)

This repository contains a simple app to hit Sport-Category Google-Books API and show a list of books, that shows book details when items on the list are tapped, also user is able to add books to his favorite list that implements MVI architecture using Hilt, Retrofit, RxJava, RoomDatabase, DataBinding and Navigation Component Applying Clean Code using OOP and SOLID Priciples.

Animation Part

Using Facebook ShimmerLayout Animation , Shared Element Transition and RecyclerView-Item Animation

117337536_220681359266294_4070239216491888377_n

The app has following packages:

  1. data: It contains all the data accessing and manipulating components.
  2. di: Dependency providing classes using Hilt.
  3. view: View classes along with their corresponding Presenters.
  4. intent: Intent Classes for dealing with view interactions.
  5. utils: Utility classes.

Navigation Component Graph

Screenshot (1)

Guide to app architecture

mvi_cyclic-49d9f8c2d3fe26b7

About

This repository contains a simple app to hit Sport-Category Google-Books API and show a list of books, that shows book details when items on the list are tapped, also user is able to add books to his favorite list that implements MVI architecture using Hilt, Retrofit, RxJava, RoomDatabase, DataBinding and Navigation Component.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages