Merge remote-tracking branch 'origin/master'

This commit is contained in:
2020-11-20 13:50:23 +00:00

55
README.md Normal file
View File

@@ -0,0 +1,55 @@
# MovieListTest
Load Movies from TMDB API and populate a list on your device. You can favourite/unfavourite movies.
## Installation
Clone this repository with the following command
git clone https://github.com/hmalik144/MovieListTest/
then open with android studio.
## Requirements
- Minimum android version 23
- Permissions : Internet, Network state
## Features
- SOLID coding principles applied to keep code clean and easy to read
- Android navigation library
- Livedata, with lifecycle aware results
- Data persistence with room
- Picasso for image caching
- Recycler view for easy user list display
- Favourite/unfavourite movies
## If I had more time
- Add animations for recycler list population.
- Paginate the new entry with a smoother animation.
## Architectural Pattern
MVVM - Model View Viewmodel
SOLID coding principle
## Jetpack
* [AndroidX](https://developer.android.com/jetpack/androidx)
### Unit test
- RepositoryTest.kt
- MainViewModelText.kt
- MoviesRoomDatabaseTest.kt
## Built With
* [Kodein](https://github.com/Kodein-Framework/Kodein-DI) - Painless Kotlin Dependency Injection
* [Retrofit](https://github.com/square/retrofit) - Type-safe HTTP client for Android and Java by Square, Inc
* [Picasso](https://square.github.io/picasso/) - A powerful image downloading and caching library for Android
* [Room Persistence Library](https://developer.android.com/topic/libraries/architecture/room) - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
* [Mockito](https://github.com/mockito/mockito) - Most popular Mocking framework for unit tests written in Java
## Authors
* **Haider Malik** - *Android Developer*