luanalbineli / popularmovies

This is the first project of the Android Nanodegree. Built using MVP pattern.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Popular Movies

This is the second project of the Udacity's Android Nanodegree, that is basically an Android application that consumes the services exposed by TMDb.

Patters, libraries and technology:

  • MVP
  • Dagger 2.x
  • Kotlin
  • RxJava
  • Retrofit
  • And so on
Why architecture patterns?

Split the responsabilities. When you follow an architecture pattern, I's easier to understand the flow of information, the responsabilities of each class/object, to maintain the code and test.

Features

The application was divided into four tabs:

  • ✅ Home - The default tab of the application

    • ✅ List of the first twenty movies ordered by popularity;
    • ✅ List of the first twenty movies ordered by rating;
    • ✅ Option to see all movies ordered by popularity (infinite scroll);
    • ✅ Option to see all movies ordered by rating (infinite scroll);
  • ✅ Browse - Tab to the user search for new movies

    • 🔜 Filter by genre
    • ❌ More filters...
  • ✅ Cinema

    • ✅ List of the movies in theaters
    • 🔜 Show the upcoming movies
  • ✅ Favorite

    • ✅ List your favorite movies
    • 🔜 Option to select the sorted by (added order, release date)
  • ✅ Movie detail screen

    • ✅ Show the backdrop and poster;
    • ✅ Show the user's average rating;
    • ✅ Show the first two reviews;
    • ✅ Show all reviews;
    • ✅ Show the first two trailers;
    • ✅ Show all trailers;
    • ✅ Option to favorite the movie;
    • ✅ Show the cast;
    • ✅ Show recommendations (of movies, based on the movie you are seeing);

Building yourself

To build/run this project, you I'll need Android Studio 3.0. Besides, you need to create a TMDb account and get an API key. Then, with your API key in hands, just create a gradle.properties file on root folder, and add the following line:

API_KEY = "YOUR_API_KEY"

Some screenshots:

      
      
      

About

This is the first project of the Android Nanodegree. Built using MVP pattern.

License:Apache License 2.0


Languages

Language:Kotlin 97.3%Language:Java 2.7%