diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e156d1 --- /dev/null +++ b/README.md @@ -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*