Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture

Overview

MovieGuide

🚧 Refactoring in progress πŸ‘·β€β™€οΈ ⛏ πŸ‘· πŸ”§οΈ πŸ‘· πŸ”§ 🚧

  • Comments and new issues are welcome. πŸ‘
  • Currently not accepting external PRs that touch on the app's architecture and features. πŸ›‘

Build Status

Android app that lists popular/highest-rated movies, shows trailers and reviews.

This app showcases the MVP pattern, RxJava, Dagger 2 and Uncle Bob Martin's Clean Architecture approach. Optimized for tablets.

Building the app

  1. Open local.properties in the root directory.
  2. Add your TMDB API key as follows
tmdb_api_key=ADD_YOUR_API_KEY_HERE
  1. Run the app.

Screenshots

Screenshot screenshot2 screenshot3 screenshot4 screenshot5 screenshot6

Comments
  • question for contribution

    question for contribution

    i'm korean university student. Recently, i used movieguide application in android. i think, it is quite useful and it has good information and interface. So i want our korean to know this application using opensource. But because text file like readme is written in English, people might have trouble in interpreting English. So can i Translate text file like readme or contributing guidelines into Korean?

    opened by dtree0520 6
  • Added youtube window in the app to view trailers without intent to youtube

    Added youtube window in the app to view trailers without intent to youtube

    INITIAL STATE To see the trailers of a movie, the intent was made to the youtube app and the user was watching the trailer there.

    WHAT I ADDED I have added a youtube player window in the app itself. Now upon clicking on a trailer, the user can see the trailer in the app itself without being sent to the youtube app. He can see the trailer in the full window also if he wants.
    MovieGuideYoutubePlayer

    EXTRA CHANGES MADE I have changed the FAB button's position in movie_details fragment because the youtube player cannot play any video if some view is floating/placed above it. So I have put it in the top right end between toolbar and fragment screen.

    Also, right now I have my own youtube API in the Config file which I am sharing, please make sure to replace it with your own.

    opened by Hemant27031999 4
  • Enhancements

    Enhancements

    Few enhancements made :

    • Added swipe refresh button to load the movies again dynamically without reopening the app. Useful in case when application is opened with blank screen in case of no internet.

    • Replaced deprecated Butterknife.findById with the android findViewById.

    • Added a play button on the trailers video layout to denote playable option. .

    opened by KaveriKR 4
  • Add API as a preference

    Add API as a preference

    Hello,

    Instead of adding the API key before building the app, would it be possible to add an option to enter an API key in the app preferences. This would allow changing the key without rebuilding the app.

    opened by Rudloff 4
  • Moving to rxJava2

    Moving to rxJava2

    Hi, here's a little summary of what it took,

    • update retrofit2 call factory for rx2
    • moving rx.* to io.reactivex.*
    • moving Subscription to Disposable
    • moving testSubscriber to testObserver
    • fixing RxAndroidSchedulersHook

    Plus

    • 0109961e4f0e833f5aac7d1b3b7c383f38061813: Updating gradle plugin version: 2.3.1 -> 2.3.3
    • a661d169329709ce6cb433dbdcb0e22bb034a897: rxJava2 gradle imports added + fixing META-INF duplicate file issue

    Tests are all passing.

    opened by MattiaPrimavera 3
  •  README.md document picture changes and Korean translation

    README.md document picture changes and Korean translation

    Among the pictures in the README.md document, we changed the picture that was not updated and translated the rest of the document into Korean.

    I would be grateful if you could commit my pull request. Thank you!

    opened by Hyunwoo-CHO 2
  • I have a question for your

    I have a question for your "Movie Guide" application!

    Hello! I'm university student from Korea. I have a few question about your application, named "Movie Guide".

    First, where do you get reviews for movies from? Second, what do you think about letting people, users of "Movie Guide" application, write their own reviews for each movies.

    Think about my questions and look forward to your thoughtful response.

    Thank you for taking the time to read my question!

    opened by Hyunwoo-CHO 2
  • I found the bug in newest list!

    I found the bug in newest list!

    I am user to use the movie guide app. Before reporting bugs, it's always helpful to use Movie Guides as a movie lover. But I fount the bug. I would like to tell you the bug I found in order for movie guide app to go in a good direction. Even if a movie is loaded from the newest list, the same movie is loaded continuously. My wish is that when I load a movie, I want a new movie from before.

    Thank you for reading the long article and I look forward to your reply ^_^

    opened by tjalsrb97 2
  • Swipe Refresh to load data

    Swipe Refresh to load data

    Ad swipe refresh button to load data when internet is connected after the application in opened with empty screen in case of no internet connection, or to load data again.

    I would like to work on it - yes

    enhancement 
    opened by KaveriKR 2
  • Empty screen after activity recreate with restore state

    Empty screen after activity recreate with restore state

    If 'don't keep activities option' enabled in developer settings, listing activity showing empty screen after returning to it.

    It looks like adapter knows nothing about restored ArrayList in MoviesListingFragment.onViewCreated

    bug 
    opened by drobyshys 4
Owner
Arun Sasidharan
Arun Sasidharan
A movie application where you can search a movie that you want and see the detail of movie

MovieApp This is a simple movie application where you can search a movie that you want and see the detail of movie Technologies Hilt (Dependency Injec

Serhad Mert 5 Nov 30, 2021
Small training project where dagger, dagger hilt and other components are used for clean architecture

LeagueNow ?? LeagueNow is a sample soccer team list Android application ?? built to demonstrate use of modern Android development tools - (Kotlin, Arc

Kevin Serrano 1 Oct 21, 2021
Movie Android App written in Kotlin, MVVM, RxJava, Coroutine (Upcoming), Android Architecture Components and Jetpack Compose (Upcoming).

MovieHunt MovieHunt is a sample Android project using The Movie DB API based on MVVM architecture. It showcases the latest Android tech stacks with we

Engine Bai 596 Dec 31, 2022
This is a work-in-progress (πŸ”§οΈ) ultraviolet index viewer app for demonstrating Instant Apps + Kotlin + Dagger + MVP

UV Index A simple ultraviolet index viewer app for demonstrating: Instant Apps + Kotlin + Dagger + MVP Built With Weatherbit as weather API Android In

Mustafa Berkay Mutlu 65 Oct 31, 2022
Instagram clone App in android using Kotlin, LiveData, MVVM, Dagger, RxJava and Retrofit.

Instagram-Project-in-android-with-MVVM-architecture Project from MindOrks Professional Bootcamp with self practice work and added some additional feat

Abhishek Solanki 3 Feb 28, 2022
Movie Info - MovieInfo app that recieves popular movies and allow the user to search for specific movie through the restapi

Movie_Info MovieInfo app that recieves popular movies and allow the user to sear

inderjeet yadav 3 Jun 8, 2022
MovieApp - Movie App using Clean Architecture with MVVM architectural pattern

MovieApp In this project, MovieDB API has been used to retrive movie data. Upcom

Cansu Aktaş 2 Jun 17, 2022
Movie App with MVVM + Clean Architecture (TMDB Api)

MovieApp Movie App is an application where you can follow movie trends, search for the movie you like and add the ones you like to your favorites. API

Feyza Ürkut 13 Aug 8, 2022
Movie Search App - using Flow, Suspend Function, AAC ViewModel, Dagger Hilt and so on.

Movie Search App - using Flow, Suspend Function, AAC ViewModel, Dagger Hilt and so on.

Taiki Suzuki 10 Mar 19, 2022
Movo (Movie Information) is an android application to find out all the Movie Information and Details.

Movo About The Project Screen.Recording.2022-08-12.at.08.53.46_1.mp4 Movo (Movie Information) is an android application to find out all the Movie Info

Reihan Fatilla 4 Sep 28, 2022
A GitHub user Android apps using Dagger 2, MVVM, Modularization, Clean Architecture, and Airbnb Epoxy

A GitHub user Android apps using Dagger 2, MVVM, Modularization, Clean Architecture, and Airbnb Epoxy.

Alva Yonara Puramandya 3 Dec 28, 2022
PopularMovieApp - A simple project to Chiper challenge taken data from The Movie DB based on Kotlin MVVM clean architecture

A simple project to Chiper challenge taken data from The Movie DB based on Kotli

Jhonatan Alvarez Caicedo 0 Jan 4, 2022
Tv-Movie - Android application Tv&Movie that uses TMDB API

Tv&Movie This is an android application that shows lists of popular movies, popu

Tatiana Samoilenko 3 Aug 25, 2022
GmailCompose is an Android application πŸ“± for showcasing Jetpack Compose for building declarative UI in Android.

GmailCompose GmailCompose Demo GmailCompose is an Android application ?? for showcasing Jetpack Compose for building declarative UI in Android. About

Baljeet Singh 35 Nov 29, 2022
A demo project showcasing different exercises + details with prepopulated data from room. Includes tests

README Pre-requisites I used Android Studio Bumblebee (2021.1.1). In case of any issues, do let me know because I understand that issues might vary fo

Carol 24 Nov 17, 2022
A sample application showcasing authenticators using OIE android SDK

Embedded Auth with Okta OIE Android SDK - Kotlin Sample Application ❕ The sample uses an SDK that requires usage of the Okta Identity Engine. This fun

Okta Sample Apps 1 Mar 25, 2022
Android Application built using MVVM + Retrofit + Hilt + Clean + Room to shown several movies from "The Movie DB" platform.

MovieHunter Android Application built using MVVM + Retrofit + Hilt + Clean + Room to shown several movies from "The Movie DB" platform. Contribution I

Osmar Cancino 0 Nov 10, 2021
A quiz app built with trivia api. This app was built with mvvm architecture, dagger-hilt, retrofit, room database, and navigation components.

A quiz app built with trivia api. This app was built with mvvm architecture, dagger-hilt, retrofit, room database, and navigation components.

Stephen Odumirin 3 Dec 19, 2022