https://github.com/sergio11/mobile_test
Mobile Test
https://github.com/sergio11/mobile_test
coroutines dagger2 jetpack-android material-design moshi mvvm retrofit2 room room-persistence-library
Last synced: about 1 year ago
JSON representation
Mobile Test
- Host: GitHub
- URL: https://github.com/sergio11/mobile_test
- Owner: sergio11
- License: gpl-3.0
- Created: 2021-10-10T12:35:40.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-10-10T18:43:52.000Z (over 4 years ago)
- Last Synced: 2025-02-07T16:48:06.103Z (over 1 year ago)
- Topics: coroutines, dagger2, jetpack-android, material-design, moshi, mvvm, retrofit2, room, room-persistence-library
- Language: Kotlin
- Homepage:
- Size: 26.3 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Android Mobile Test
## Main Goals
* Clean architecure approach.
* Dependency injection through Dagger.
* Asynchronous operations management with cooroutines.
* Using Material Design guidelines.
* Using local storage to implement cache layer through repository pattern.
* Testing with mockito, assertj, junit..
## Tech stack & Open-source libraries
- Minimum SDK level 23
- 100% [Kotlin](https://kotlinlang.org/) based + [Coroutines](https://github.com/Kotlin/kotlinx.coroutines)
- JetPack
- LiveData - notify domain layer data to views.
- Lifecycle - dispose observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Architecture
- MVVM UI Architecture
- Clean architecture approach with repository pattern
- Dagger 2 - dependency injection
- UI
- ViewBinding
- Material Design Components
- Design based on Constraint Layout
- Persistence
- [Retrofit2 & Moshi](https://github.com/square/retrofit) - constructing the REST API
- [OkHttp3](https://github.com/square/okhttp) - implementing interceptor, logging and mocking web server
- [Room](https://developer.android.com/training/data-storage/room) - persistence library
- [Glide](https://github.com/bumptech/glide) - loading images
## Possible improvements.
* Using the Jetpack Paging library.
* UI Testing.
## Screenshots

### Character List

### Character Detail

## Tests