mirror of
https://github.com/hmalik144/MovieListTest.git
synced 2025-12-10 01:25:18 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
55
README.md
Normal file
55
README.md
Normal 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*
|
||||||
Reference in New Issue
Block a user