:::warning
📬 Submit this assignment by November 2nd 11:59pm IST by emailing your GitHub link to [submissions@ontraq.org](mailto:submissions@ontraq.org)
:::
# Unit 2 Project: Flixster - Part 2
**Overview**: This project builds off last week's project to view information from The Movie Database API. The user can tap on any list element in order to see more details about the movie selected.
**Video Walkthrough**: Start with this [video walkthrough](https://www.youtube.com/watch?v=gsMMzhKG2R4&list=PLrT2tZ9JRrf4CFC04fqUVGoxoG087GLYs&index=2&t=0s) to complete a basic version of this assignment.
**Submission Tips**:
* 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](https://ontraq.org/assignments/android/two/readme.txt) in order to have a complete README.
**Introduction**: the fundamental concepts this week are around activities and the intent system.
## 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
- Expose details of movie (ratings using RatingBar, popularity, and synopsis) in a [separate activity.](http://guides.codepath.org/android/Using-Intents-to-Create-Flows#passing-data-to-launched-activities) (_**8 points**_)
- 💡[Concept guide](https://hackmd.io/s/ryS2Jppz-)
- [Assignment Intro - Activities & Intents](https://www.youtube.com/watch?v=gsMMzhKG2R4)
- [Details Screen Implementation](https://www.youtube.com/watch?v=5FwaEjREvJE)
- Allow video posts to be played in full-screen using the [YouTubePlayerView](http://guides.codepath.org/android/Streaming-Youtube-Videos-with-YouTubePlayerView) (_**2 points**_)
- [YoutubePlayerView](https://www.youtube.com/watch?v=ichCrKq1ZmQ)
- 💡[Concept guide](https://hackmd.io/s/B1qdwxRGb)
- See the [videos API](https://developers.themoviedb.org/3/movies/get-movie-videos) for video information. Here's a [sample request](https://api.themoviedb.org/3/movie/209112/videos?api_key=a07e22bc18f5cb106bfe4cc1f83ad8ed).
### Stretch Stories
- Implement a [shared element transition](https://guides.codepath.com/android/shared-element-activity-transition) when user clicks into the details of a movie (_**1 point**_)
- Trailers for popular movies are played automatically when the movie is selected (_**1 point**_).
- When clicking on a popular movie (i.e. a movie voted for more than 5 stars) the video should be played immediately.
- Less popular videos rely on the detailed page should show an image preview that can initiate playing a YouTube video.
- Add a play icon overlay to popular movies to indicate that the movie can be played (_**1 point**_).
- Apply [data binding for views](https://guides.codepath.com/android/Applying-Data-Binding-for-Views) to help remove boilerplate code. (_**1 point**_)
- Add a rounded corners for the images using the [Glide transformations](https://guides.codepath.org/android/Displaying-Images-with-the-Glide-Library#transformations). (_**1 point**_)
Check the [Project 1 Tips Guide](#!hints) to troubleshoot problems or get hints.
**Submitting Assignments:** Submitted through GitHub, check out the [[Submitting Assignments|Submitting Assignments]] page for more details.
**Mockups:**
A very basic version of having a detail activity which plays the trailer:

**A simplified detail view could look like this (yours should have more details):**

**Cliffnotes:**
- (Cliffnotes) [Activity Lifecycle](https://guides.codepath.org/android/Activity-Lifecycle)
- (Cliffnotes) [Using Parcelable](https://guides.codepath.org/android/using-parcelable)
- (Cliffnotes)Â [Android Directory Structure](http://guides.codepath.org/android/Android-Directory-Structure)
- (Cliffnotes)Â [Constructing View Layouts](http://guides.codepath.org/android/Constructing-View-Layouts)
- (Cliffnotes) [Working with ImageView](http://guides.codepath.org/android/Working-with-the-ImageView)
- (Cliffnotes)Â [Basic Event Handling](http://guides.codepath.org/android/Basic-Event-Listeners)
- (Cliffnotes) [Alternate Layout Files](http://guides.codepath.org/android/Understanding-App-Resources#alternate-layout-files)
- (Cliffnotes) [Using Strings and other Resources](http://guides.codepath.org/android/Understanding-App-Resources#providing-app-resources)