Student-facing instructions: Android
==
:::danger
**NOTE:** You don't need to read through this student-facing guide nor execute this yourself. This is only shared with you just in case you need a reference point for how some features look like implemented.
:::
# Flixster - Part 1
**Overview**: This project lets users view a list of movies sourced from the The Movie Database API.
**Video Walkthrough**: Start with this [video walkthrough](https://www.youtube.com/playlist?list=PLrT2tZ9JRrf6_xXjDCX6mwhhGjJf0_Cdl) to complete a basic version of this assignment.
**Submission Instructions**:
* Make sure you are adding and committing files in git as you complete features and milestones.
* Be sure to **include a README** containing a GIF walkthrough of your app.
* Use [this README template](/snippets/android_university/readme_templates/project_1_readme.md?raw=true) in order to have a complete README.
## Check out The Movie DB API
* [Video Intro to the Movie DB API](https://www.youtube.com/watch?v=Hfoi4N1ES-4)
* Poke around in the [The Movie Database documentation](https://developers.themoviedb.org/3/getting-started) to familiarize yourself with the API's general structure and features.
- ["Now Playing" endpoint](https://developers.themoviedb.org/3/movies/get-now-playing).
- Sample Request:
- <https://api.themoviedb.org/3/movie/now_playing?api_key=a07e22bc18f5cb106bfe4cc1f83ad8ed> in your browser.
- API Key `a07e22bc18f5cb106bfe4cc1f83ad8ed`
- **Note:** It's helpful to install the [JSONView Chrome Extension](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=en) to view the returned JSON more easily.
## Mockups
With required and a few optional user stories completed:


In portrait mode, the layout should look like:

In landscape mode, the layout should look like:

The required and optional user stories are outlined below.
## User Stories
> A user story is a way to capture requirements for an app from an end-user perspective.
> It is a common practice in app development and helps to simplify the way requirements are specified.
### Required Stories
- User can view a list of movies (title, poster image, and overview) currently playing in theaters from the Movie Database API. (_**5 points**_)
- [Networking and Parsing JSON](https://www.youtube.com/watch?v=hKGogwnX9gA)
- [RecyclerView implementation](https://www.youtube.com/watch?v=y7OKzVdzzuM)
**Project setup**: Completing this project requires the use of the [AsyncHttpClient](https://github.com/codepath/android_guides/wiki/Using-CodePath-Async-Http-Client) and the [Glide](http://guides.codepath.org/android/Displaying-Images-with-the-Glide-Library) libraries. You will need to add dependencies for these libraries to the [app/build.gradle](https://github.com/codepath/android-rest-client-template/blob/master/app/build.gradle#L40-L43) file.
### Stretch stories
- Views should be responsive for both [landscape/portrait mode](http://guides.codepath.org/android/Understanding-App-Resources#creating-alternate-resources). (_**3 points**_)
- In portrait mode, the poster image, title, and movie overview is shown.
- In landscape mode, the rotated alternate layout should use the backdrop image instead and show the title and movie overview to the right of it.
- [Alternate resources walkthrough](https://www.youtube.com/watch?v=7YhooIccfIU)
- Display a nice default placeholder graphic for each image during loading (read more about [Glide](http://guides.codepath.org/android/Displaying-Images-with-the-Glide-Library#setup)) (_**1 point**_)
- Improve the [user interface](http://guides.codepath.org/android/Styling-UI-Screens-FAQ#actionbar) through styling and coloring (_**1 to 5 points** depending on the difficulty of UI improvements_)
- For popular movies (i.e. a movie voted for more than 5 stars), the full backdrop image is displayed. Otherwise, a poster image, the movie title, and overview is listed. Use [Heterogenous RecyclerViews](https://guides.codepath.com/android/Heterogeneous-Layouts-inside-RecyclerView) and use different ViewHolder layout files for popular movies and less popular ones. (_**2 points**_)