• Stars
    star
    124
  • Rank 288,207 (Top 6 %)
  • Language
    Kotlin
  • Created over 6 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A gorgeous TMDb client for Android

MovieDB

Get it on Google Play

MovieDB is a gorgeous client application for TMDb on Android, built using Kotlin.

Master branch

Architecture and Tech-stack

  • Built on MVVM architecture pattern
  • Uses Android Architecture Components, specifically ViewModel, LiveData and Room.
  • Heavily uses the Epoxy Library from Airbnb
  • Has a clean, gorgeous user interface with pretty animations, built using Android Transitions framework, and Material Components for Android
  • Heavily uses RxJava for network calls, transformations, and database observation.
  • Completely offline ready. MovieDB uses 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 for making API calls.
  • Uses 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 at some point.

More Repositories

1

NetworkResponseAdapter

Retrofit call adapter to model success/failed responses as sealed types
Kotlin
562
star
2

WhatTheStack

See a pretty error screen when your Android app crashes
Kotlin
245
star
3

Vector

Kotlin Coroutines based MVI architecture library for Android
Kotlin
193
star
4

MoonShot

A SpaceX companion app for Android
Kotlin
161
star
5

lucilla

Fast, efficient, in-memory Full Text Search for Kotlin
Kotlin
127
star
6

functions-differ

Tool to find Firebase Functions that changed for selective redeployments
TypeScript
39
star
7

Resumade

An Android app with a minimal material design that generates a resume for you
Kotlin
32
star
8

opengraphKt

A dead simple OpenGraph tags parser for Kotlin
Kotlin
21
star
9

json-formatter

Dead simple JSON formatter for the browser (Next.js, Tailwindcss, TypeScript)
TypeScript
8
star
10

getignore

Fetch gitignore files for your projects right from the command line
Go
7
star
11

dagger-mvrx-multimodule

Demonstrates usage of Dagger and MvRx in multi module apps
Kotlin
3
star
12

pathfix

Fixes the PATH environment variable of the current process
Go
3
star
13

EpoxyCarouselBugSample

Sample project for carousel scrolling bug in Epoxy
Kotlin
2
star
14

homebrew-pps

Homebrew Tap for the pps package
Ruby
2
star
15

translate_ref_generator

A Dart build plugin to make it easier to work with translation string files
Dart
2
star
16

UsageStatsManager-Sample

An app to demonstrate the usage of the UsageStatsManager API
Java
2
star
17

homebrew-getignore

Homebrew repository for getignore
Ruby
1
star
18

spacexkmp

A Kotlin Multiplatform wrapper for the SpaceX API
Kotlin
1
star
19

translate_ref

Annotations library for Translation Reference Generator
Dart
1
star
20

CMS

Semester project for Database Management System course (CO202)
JavaScript
1
star
21

UnitTestingSample

A sample app to help me learn unit testing through Junit 5 and Spek framework
Kotlin
1
star
22

MVRx-Lite

A lightweight state management library inspired from Airbnb's amazing MvRx library
Kotlin
1
star
23

pps

A parallel port scanner, not intended for real use
Go
1
star
24

Rosewood

An Android app to create a timeline of user interactions with their device
Kotlin
1
star