/Movieverse

Movieverse, Movie Universe, A Movie Catalogue App For Android

Primary LanguageKotlinApache License 2.0Apache-2.0

Movieverse

Movieverse is a movie catalogue Android app where you can find what's trending, what's currently playing on cinema, save favorite movie, and find any Movie or TV information. This app is written in Kotlin with Clean Architecture and MVVM (Model-View-ViewModel) Architecture, Using Android Jetpack Library such as Navigation, Room, ViewModel, Paging, LiveData and Hilt. This app also using Kotlin Coroutine to perform asyncronous operation, Coroutine Flow to handle asyncronous data stream and Retrofit to communicate with REST API. Movie and TV data is provided by TMDB. Dark Mode is also available inside the app where you switch to darker theme scheme. This app was developed to complete Belajar Fundamental Aplikasi Android final project and got 5/5 score.

Preview

Demo

You can view the app demo on youtube: https://youtu.be/Ra3qChwb8hE

Project Setup

You need Youtube API and TheMovieDatabase API Key to make this project work. Make a new file, api.properties, on the root folder and put your api key like this:

In your api.properties (Movieverse/api.properties) :

TMDB_API_KEY = "YOUR_API_KEY"
GOOGLE_YOUTUBE_API = "YOUR_API_KEY"

Built With

Android Jetpack - Room, Navigation, Paging, LiveData, ViewModel, Hilt etc.
Gson - A Java serialization/deserialization library to convert Java Objects into JSON and back.
Glide - An image loading and caching library for Android focused on smooth scrolling.
RoundedImageView - A fast ImageView that supports rounded corners, ovals, and circles.
Retrofit - A type-safe HTTP client for Android and Java.
Facebook Shimmer - An easy, flexible way to add a shimmering effect to any view in an Android app.
CardSlider - Android Card Slider
DiscreteScrollView - A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.
Lottie - Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile.

Author

Nandra Saputra

Download Application - APK File

This app require Android 5.0 - Lolipop or higher to run, Please check release section to download the app.

License

Apache 2.0. See the LICENSE file for details.