👑 The GoldMovies is based on Kotlin, MVVM architecture, coroutines, dagger, koin, and material designs & animations.
The Movies Database (TMDB) is a community built movie and TV database. Every piece of data has been added by our amazing community dating back to 2008. TMDb's strong international focus and breadth of data is largely unmatched and something we're incredibly proud of. Put simply, we live and breathe community and that's precisely what makes us different.
Add your The Movie DB's API key in your
The module structure is designed to try several different architectures.
Entity module composed of entity models for persisting in database and response models for fetching data from network requests.
Unit Tests to construct database and migration to newer versions using the Room.
Network module composed of abstractions for RESTful requests.
ApiResponseModel for standardizing a raw request model.
An Interceptor for requesting every time with a query parameter
Unit Tests to verify RESTful requests abstractions via a testing web server and mocked data.
Common-ui module composed of adapters and viewholders for composing recyclerview's item via databinding. And some factories and extensions related to custom views.
Mvvm module is the implementation of user interfaces on the application. Based on mvvm architecture (view-databinding-viewmodel-model) with the repository pattern.
Unit Tests verify the interactions of viewmodels between repositories and dao & REST api requests.
Mvvm-coroutines module almost same as the Mvvm module. Implementation of user interfaces on the application. Based on mvvm architecture and coroutines.
Unit Tests verify the interactions of viewmodels between repositories and DAO & REST api requests.
Material design & animations.
If you feel like to sponsor me a coffee for my efforts, I would greatly appreciate it.
Designed and developed by 2019 skydoves (Jaewoong Eum) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.