Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mureedhussain1/delivz-mvvm
MVVM based Android App using Dagger2, RxJava2, Retrofit, gson, Picasso, Google Maps and Architecture Components like Databinding, LiveData, ViewModel, Paging and Room.
https://github.com/mureedhussain1/delivz-mvvm
Last synced: 10 days ago
JSON representation
MVVM based Android App using Dagger2, RxJava2, Retrofit, gson, Picasso, Google Maps and Architecture Components like Databinding, LiveData, ViewModel, Paging and Room.
- Host: GitHub
- URL: https://github.com/mureedhussain1/delivz-mvvm
- Owner: mureedhussain1
- Created: 2018-09-20T03:20:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-05-10T07:28:57.000Z (over 5 years ago)
- Last Synced: 2024-11-28T16:05:35.161Z (2 months ago)
- Language: Kotlin
- Homepage:
- Size: 4.81 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Delivz-MVVM
This Android app is developed using Kotlin language,
following recomended architecture explained at: https://developer.android.com/jetpack/docs/guideSimilar to this diagram:
![Architecture Components Diagram by Android developers](https://developer.android.com/topic/libraries/architecture/images/final-architecture.png)
[Android Paging Library](https://developer.android.com/topic/libraries/architecture/paging/#support-different-data-arch) is integrated to lazy load data by pages. Paging library work by coordinating the interactions between components as explained in this diagram:
### Package Structure:
- **.data:** manipulates data
- **.db:** implements database operations
- **.dto:** Data objects and entites
- **.paging:** Load data from API using [Pagination]()
- **.di:** provides dependencies
- **.view:** displays data (Activities, View holder and Adapter)
- **.adapter:** implements View holder and Adapter for recyclerview
- **.viewmodel:** View model### Libraries
* [Android Support Library][support-lib]
* [Android Data Binding][data-binding]
* [Android Architecture Components][arch]
* [Paging][paging]
* [Room][room]
* [Live Data][live-data]
* [View Model][view-model]
* [RxJava][rxjava]
* [Dagger 2][dagger2] for dependency injection
* [Retrofit][retrofit] for REST api communication
* [Picasso][picasso] for image loading
* [Google Maps][map]### Result:
[support-lib]: https://developer.android.com/topic/libraries/support-library/index.html
[arch]: https://developer.android.com/arch
[paging]: https://developer.android.com/topic/libraries/architecture/paging/
[room]: https://developer.android.com/topic/libraries/architecture/room
[live-data]: https://developer.android.com/topic/libraries/architecture/livedata
[view-model]: https://developer.android.com/topic/libraries/architecture/viewmodel
[data-binding]: https://developer.android.com/topic/libraries/data-binding/index.html
[dagger2]: https://google.github.io/dagger
[retrofit]: http://square.github.io/retrofit
[rxjava]: https://github.com/ReactiveX/RxJava
[picasso]: http://square.github.io/picasso/
[map]: https://developers.google.com/maps/documentation/android-sdk/intro