https://github.com/roroche/kandroidmodular
A sample Android application, written in Kotlin, to demonstrate how to build screens as fully independent modules.
https://github.com/roroche/kandroidmodular
android android-architecture android-architecture-components android-databinding android-mvvm android-mvvm-architecture koin retrofit rx-android
Last synced: 9 months ago
JSON representation
A sample Android application, written in Kotlin, to demonstrate how to build screens as fully independent modules.
- Host: GitHub
- URL: https://github.com/roroche/kandroidmodular
- Owner: RoRoche
- License: apache-2.0
- Created: 2018-01-03T19:37:17.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-04-26T16:50:31.000Z (about 6 years ago)
- Last Synced: 2025-04-04T17:36:53.314Z (about 1 year ago)
- Topics: android, android-architecture, android-architecture-components, android-databinding, android-mvvm, android-mvvm-architecture, koin, retrofit, rx-android
- Language: Kotlin
- Homepage:
- Size: 1.63 MB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# kAndroidModular
[AndroidModularSample](https://github.com/RoRoche/AndroidModularSample) reloaded and rewritten in Kotlin!
## Use cases
- Screen 1: type a user
- Screen 2: load and display GitHub repos for this user
## Technical stack
- MVVM architecture with [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/index.html) and [Data Binding](https://developer.android.com/topic/libraries/data-binding/index.html)
- REST layer with [retrofit](http://square.github.io/retrofit/) + [rx-android](https://github.com/ReactiveX/RxAndroid)
- DI with [Koin](https://github.com/Ekito/koin) (validated via its DryRun test)
## TODOs
- [X] use of FSM library [EasyFlow](https://github.com/Beh01der/EasyFlow)
- [X] check orientation changes
- [X] build repos screen with RecyclerView + Adapter
- [X] global unit test with mocked DI-components
- [X] split into modules
- [X] unit test each module using [Fragment Test Rule](https://github.com/21Buttons/FragmentTestRule)
- [X] [fix bug](https://stackoverflow.com/questions/48272363/noclassdeffounderror-android-databinding-databindingutil-when-running-android/)