Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BookList & Detail Display including MVP architecture #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

PreetikaKaur
Copy link

Features implemented

Implemented Display of list of books
On Book Selection, it's Detail page will be opened
MVP architecture is implemented.
Support for regular and biFold devices.
Unit tests implemented.
Cache is used if there is no internet connectivity using Shared Preferences.
Navigation Library used to navigate between fragments
Glide has been used for image loading
Databinding is used to display data

Tech Stacks Used:

Kotlin, xml

Libraries Used:

  • Kotlin
  • RXJava
  • Navigation
  • Glide
  • Databinding
  • Retrofit
  • Dagger
  • Junit
  • Mockito
  • other supporting libraries

Areas of improvement:

  • With full app, change the architecture of app from MVP to MVVM to support more updated libraries.
  • UI can be written in Compose
  • Updated libraries like Hilt to remove more boiler plate code
  • Implement UI testing too.
  • Implement more cases of unit tests
  • Coroutines can be implemented in place of RX Java
  • RoomDatabase app to store list of books in database instead of cache
  • This app can implement offline first approach too to show limited data.

Screenshots

DarkThemePhoneBookList

DarkThemePhoneBookDetail

LightThemePhoneBookList
LightThemePhoneBookDetail
FoldingDeviceBookList
FoldingDeviceBookDetail
NoInternetConnection

added list and detail fragment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant