GithubHelp home page GithubHelp logo

luanalbineli / popularmovies Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 13.17 MB

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

License: Apache License 2.0

Java 2.66% Kotlin 97.34%
android dagger2 dagger2-mvp retrofit2 rxjava android-mvp android-nanodegree

popularmovies's Introduction

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:

      
      
      

popularmovies's People

Contributors

hbsis-luanalbineli avatar luanalbineli avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.