A mobile native application to show movies using API from https://api.themoviedb.org
- Built with MVVM architecture, Jetpack Compose, Retrofit, Glide, and Hilt.
- Support Dark and Light Mode, has toggle to change it dynamically
- Screen Flow:
Genre Screen
-> Movie Screen
-> Movie Detail Screen
-> Movie video
Genre Screen
will fetch the genre list from the server. Click one of the genres to get a movie list based on the selected genre.
Movie Screen
has pagination to load movies based on genreId
Movie Detail Screen
has a video list and pagination to load the user's review
- If the user clicks the video thumbnail, it will play the video on Webview
Movie video
uses Webview to play Youtube Url
- Each screen has Loading, Error, and Content View to handle state changes
Genres Screen (Light Mode) |
Movies Screen (Light Mode) |
Movie Detail Screen (Light Mode) |
![Screenshot_20230911_142940](https://camo.githubusercontent.com/28908c694903d3d7dcbb5187cadfbaa9a55717763d7a0a381423e8aee0bb601a/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f32373466383231333535333232326533633730353231346232313239353639662f53637265656e73686f745f32303233303931315f3134333030392e706e67) |
![Screenshot_20230911_142959](https://camo.githubusercontent.com/4147c70bcd59cbca67457dae27f8b9f1406fe60df5a23c6dcaa1ff6c398aae03/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f37326163383834323937366436393536333039343364306664643363386662342f53637265656e73686f745f32303233303931315f3134323935392e706e67) |
![Screenshot_20230911_143009](https://camo.githubusercontent.com/6cca4ede694f2f4df02318811bae111c0333ed771abbae8548190080c80e1062/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f36626535383634633739303263623339393138363730353831366132343364622f53637265656e73686f745f32303233303931315f3134323934302e706e67) |
Genres Screen (Dark Mode) |
Movies Screen (Dark Mode) |
Movie Detail Screen (Dark Mode) |
![Screenshot_20230911_143020](https://camo.githubusercontent.com/99a584e495b4224731b8dfdc5989e7c9cbc0f62abdab97f4bbaab1fc2bc74452/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f38396637363066653534323437323836656336636265343036373664316339322f53637265656e73686f745f32303233303931315f3134333032302e706e67) |
![Screenshot_20230911_143033](https://camo.githubusercontent.com/dd466480e4b7cba926eef587fafe1f5e694d40276400108bc24a0cbaf3841d23/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f66633634613664346630643536316131366634326262343337336462643833622f53637265656e73686f745f32303233303931315f3134333033332e706e67) |
![Screenshot_20230911_143054](https://camo.githubusercontent.com/f6c1837109d6a80d01169c01b908a16e57fa62eafe5d90e2533215e6baf755f3/68747470733a2f2f6769746c61622e636f6d2f726179612e77616879752e616e67676172612f4d6f76696544422f75706c6f6164732f30666264353062376636346663343235623062633336333863363535333035362f53637265656e73686f745f32303233303931315f3134333035342e706e67) |
![IMG](https://camo.githubusercontent.com/0bd3c04ea007994805dea1df1618f20ff13945350d0ef02f3b2f6acaa5377871/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f4548385758316a503073552f302e6a7067)