PhotoFeed-MVVM is an Android application following MVVM architecture (Coroutine + Flow + MutableLiveData + Retrofit + Room + NavGraph ) and using UnsplashApi to show a feed of pictures and detail of each in another view
- List all Photos of the given feed
- Switch Grid Style to List Style
- Show details of a selected picture
- Pinch to zoom in/out
- Share the picture on every app installed on the phone that can share pictures
- Caching database for keeping the app working even if there's network trouble
- Network error logic for preventing crash and load local database datas
- Skeleton / Shimmering effect during feed loading for better UX
- Shared Element between fragment so we can make sweet transitions
- Local Data First Logic
PhotoFeed-MVVM is compatible with Android API 26 and target API 33.
Tested Android API | 26 | 29 | 32 | 33 |
---|---|---|---|---|
1.0.0 | ✔ | ✔ | ✔ | ✔ |
- Better abstraction with some interfaces
- UI/Unit test
- Made some land xml for both fragment and fix the auto switch fragment
- Perhaps less responsibility in the PhotoFeedListFragment
- Global management of error with dedicated popup view
- Add inifinite scrolling with paging requested data
- Retrofit for API calls
- Hilt for dependency injection
- Glide for image loading / caching
- Toasty for better designing error toast
- Zoom Layout for pinch to zoom outside the determined size of view
- Skeleton Layout for shimmering effect on load
- Code: you can redistribute it and/or modify it under the terms of the GNU General Public License (GPLv2).