Android Sample
🚧 Under construction! 🚧
Sample App for use and practise of different libraries.
For now it shows a list of Marvel Characters from Marvel API.
Includes:
- Examples of UI testing and Unit testing.
- Local Database and Cache for items showed in the list
Features and Libraries
- Clean Architecture with MVVM
- Jetpack Navigation
- Dynamic Feature Modules
- Video streaming with Exoplayer
- Dagger Hilt
- Kotlin Gradle DSL
- Room
- Lifecycle
- Marvel API
Libraries
- Dagger Hilt
- RxJava 3
- ViewModel
- DFM navigation
- Constraint Layout
- Gradle
- Room
- Retrofit
- Timber
- Glide
- Mockito
Structure
- Presentation: Model View View Model pattern from the base sample.
- Domain: Holds all business logic. The domain layer starts with classes named use cases used by the application presenters. These use cases represent all the possible actions a developer can perform from the presentation layer.
- Repository: Repository pattern from the base sample.
Setup
It is needed to add Marvel API keys to gradle in order to build the app.
marvelApiPublicKey
marvelApiPrivateKey
Author
Miguel González Pérez
License
Copyright 2020 Miguel González Pérez
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.