Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haroldadmin/MovieDB
A gorgeous TMDb client for Android
https://github.com/haroldadmin/MovieDB
android architecture-components koin kotlin material-design mvvm tmdb
Last synced: 12 days ago
JSON representation
A gorgeous TMDb client for Android
- Host: GitHub
- URL: https://github.com/haroldadmin/MovieDB
- Owner: haroldadmin
- Created: 2018-04-02T05:26:39.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-09-30T03:54:40.000Z (about 4 years ago)
- Last Synced: 2024-10-27T11:23:19.825Z (16 days ago)
- Topics: android, architecture-components, koin, kotlin, material-design, mvvm, tmdb
- Language: Kotlin
- Homepage:
- Size: 1.36 MB
- Stars: 124
- Watchers: 4
- Forks: 31
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MovieDB
----------------------------------------------------------------MovieDB is a gorgeous client application for [TMDb](https://www.themoviedb.org) on Android, built using Kotlin.
[![Master branch](https://travis-ci.com/haroldadmin/MovieDB.svg?branch=master)](https://travis-ci.com/haroldadmin/MovieDB.svg?branch=master)
## Architecture and Tech-stack
* Built on MVVM architecture pattern
* Uses [Android Architecture Components](https://developer.android.com/topic/libraries/architecture/), specifically ViewModel, LiveData and Room.
* Heavily uses the [Epoxy Library](https://github.com/airbnb/epoxy/) from Airbnb
* Has a clean, gorgeous user interface with pretty animations, built using Android Transitions framework, and [Material Components for Android](https://github.com/material-components/material-components-android)
* Heavily uses [RxJava](https://github.com/ReactiveX/RxJava) for network calls, transformations, and database observation.
* Completely offline ready. MovieDB uses [Room](https://developer.android.com/topic/libraries/architecture/room) for managing a local SQLite database, which means that if you have seen some content already while you were online, you won't need an internet connection to see it again. Everything except movie trailers are cached.
* Uses [Retrofit](https://square.github.io/retrofit/) for making API calls.
* Uses [Glide](https://github.com/bumptech/glide) for image loading.
* Built on a Single-Activity Architecture. Every screen in the app is a fragment.## Features
* Discover Top Rated and Popular movies on TMDb.
* Search for movies
* View movie details like release date, rating, overview, **movie trailer** and cast right inside the app.
* Supports login for TMDb accounts to manage Watchlist and Favourite movies
* View movies in theatres in your region.
* Works offline by caching data into a database.## Screenshots
## Planned Features
* Notify the user when an unreleased movie in their watchlist is released.
* Get movie recommendations based on any given movie
* ~~Safer networking calls by wrapping Retrofit responses into a Resource class to have Success and Failure response types~~
* ~~Migrate to [MVRx](https://github.com/airbnb/mvrx) at some point.~~