Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zahraheydari/android-clean-architecture-mvvm-hilt-rx
Implemented by Clean Architecture, Hilt, MVVM, LiveData, RX, Retrofit2, Room, Anko
https://github.com/zahraheydari/android-clean-architecture-mvvm-hilt-rx
android clean-architecture clean-code coil coil-image-loader example-project hilt hilt-android hilt-dependency-injection kotlin kotlin-extensions livedata mvvm mvvm-architecture mvvm-pattern retrofit2 room rxandroid rxjava sample-app
Last synced: 4 days ago
JSON representation
Implemented by Clean Architecture, Hilt, MVVM, LiveData, RX, Retrofit2, Room, Anko
- Host: GitHub
- URL: https://github.com/zahraheydari/android-clean-architecture-mvvm-hilt-rx
- Owner: ZahraHeydari
- Created: 2019-02-02T13:00:30.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-27T22:11:25.000Z (over 1 year ago)
- Last Synced: 2024-12-10T20:51:49.690Z (11 days ago)
- Topics: android, clean-architecture, clean-code, coil, coil-image-loader, example-project, hilt, hilt-android, hilt-dependency-injection, kotlin, kotlin-extensions, livedata, mvvm, mvvm-architecture, mvvm-pattern, retrofit2, room, rxandroid, rxjava, sample-app
- Language: Kotlin
- Homepage:
- Size: 866 KB
- Stars: 455
- Watchers: 11
- Forks: 85
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ArtGallery
A sample android app that shows how to use ViewModels and Room together with RxJava & Dagger2, in Kotlin by Clean Architecture.### Implemented by Clean Architecture
The following diagram shows the structure of this project with 3 layers:
- Presentation
- Domain
- Data
### Communication between layers
1. UI calls method from ViewModel.
2. ViewModel executes Use case.
3. Use case combines data from Album and Photo Repositories.
4. Each Repository returns data from a Data Source (Cached or Remote).
5. Information flows back to the UI where we display the list of posts.### Scenario
Used https://jsonplaceholder.typicode.com/ as a public api to generate fake data for testingAt a glance:
- Created a list of Album
- In the Item of each Album, showed Album name.
- When user taps on Album, new page will be shown which includes list of photos.
- when user taps on photo, show image bigger through transition.
- Were Written tests to completely cover Exceptions/Expectations
- And:
- Supported orientation change
- Supported offline mode