Code Monkey home page Code Monkey logo

udacity-p1-p2-popular-movies's Introduction

udacity-p1-p2-popular-movies's People

Contributors

vickychijwani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

udacity-p1-p2-popular-movies's Issues

Tap on a movie poster to view movie details

Stuff to show on details screen:

  • original title
  • movie poster image thumbnail
  • plot synopsis (called overview in the api)
  • user rating (called vote_average in the api)
  • release date

App disk usage increases indefinitely

All movies are being saved to Realm as soon as they're downloaded. There could be 2 solutions to this:

  1. Either, copy to Realm only upon favoriting, and remove upon unfavoriting,
  2. Or, clear the database periodically (except favorited movies, of course)

(1) seems like the more logical solution.

Favorite action does not reflect current state when movie is opened quickly after app launch

Steps to reproduce:

  1. Favorite a movie with the "star" button -- say the very first one, for convenience in step 3.
  2. Kill app.
  3. Launch app and quickly select the movie favorited in step 1. To do this easily, right after launch keep tapping the screen continuously at the location where the movie poster will eventually load.
  4. Notice the Favorite action does not reflect the favorited state. If that is not the case, you may need to repeat steps 2-4 a few times.
  5. Go back to the home screen and open the movie again, now the state is reflected correctly. The issue does not reappear on repeating this any number of times.

Improve network performance

Right now if I rotate the device, the screen flickers white for a few seconds before displaying the pictures again. Not sure why the images are not getting cached, or why it's taking so much time to load them from disk.

Errors in responsive layout code

  1. DESIRED_GRID_COLUMN_WIDTH_DP is set to 300 dp, but used as a pixel value later. Since the calculations were done on a Nexus 4, this is actually 150 dp.
  2. The 150 dp measure needs to be multiplied by the appropriate screen density factor to get the correct width in pixels, in a density-independent manner.

Mark movies as "favorite"

Allow users to mark a movie as a favorite in the details view by tapping a button (star). This is for a local movies collection that you will maintain and does not require an API request.

Crash on pausing app during API call

Steps to reproduce:

  1. Go offline.
  2. Kill the app and launch it again.
  3. Sort by favorites => you should see all favorites even though you're offline.
  4. Sort by most popular, and quickly minimize the app.
  5. App crashes.

Sort by favorite

Add this new option to the existing sorting UI ("Most Popular" / "Highest-Rated").

Blocked by: #6.

Set correct two-pane UI breakpoint before submission

Right now it's set to 590dp to accommodate my Nexus 4 in landscape, just for testing. 600dp seems like the optimal value, according to this:

  1. Summary and detail view content in layouts
    • Layouts under 600dp wide may fill the screen with a single level of content hierarchy (either summary or detail content, but not both).
    • Layouts over 600dp wide may place two levels of content hierarchy on the screen (both summary and detail content).

breakpoints

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.