Skip to content

This project lets users view a list of movies sourced from the The Movie Database API.

Notifications You must be signed in to change notification settings

LuisMendez01/Flix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project 1 - Flix

Flix is a movies app using the The Movie Database API.

Time spent: 20 hours spent in total

User Stories

The following required user stories are complete:

  • User sees app icon in home screen and styled launch screen (+1pt)
  • User can scroll through a list of movies currently playing in theaters from The Movie DB API (+5pt)
  • User can "Pull to refresh" the movie list (+2pt)
  • User sees a loading state while waiting for the movies to load (+2pt)

The following stretch user stories are implemented:

  • User sees an alert when there's a networking error (+1pt)
  • User can search for a movie (+3pt)
  • While poster is being fetched, user see's a placeholder image (+1pt)
  • User sees image transition for images coming from network, not when it is loaded from cache (+1pt)
  • Customize the selection effect of the cell (+1pt)
  • For the large poster, load the low resolution image first and then switch to the high resolution image when complete (+2pt)

The following additional user stories are implemented:

  • List anything else that you can get done to improve the app functionality! (+1-3pts) I added a new controller, when user touches a row it will take them to where they can read more about the movie. Also They will see a poster of low resolution being fetched first followed by a high resolution poster movie. The change depends on connection will be visible or not. Most of time it is not visible.

Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):

  1. Memory cache, how much cache would we need ? and how to cash only high resolution images/posters.
  2. ScrollView, Although I managed to make it work, what is the best way to set constraints to it and its items on top of it.

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough Video Walkthrough

GIF created with LiceCap.

Notes

Describe any challenges encountered while building the app. Challenges:

  1. Memory cache! I don't understand why some images were cached and why others were not.

License

Copyright [2018] [Luis Mendez]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project 2 - Flix

Name of your app is a movies app displaying box office and top rental DVDs using The Movie Database API.

Time spent: 20 hours spent in total

User Stories

The following required functionality is completed:

  • User can tap a cell to see a detail view (+5pts)
  • User can tap a tab bar button to view a grid layout of Movie Posters using a CollectionView (+5pts)

The following stretch features are implemented:

  • User can tap a poster in the collection view to see a detail screen of that movie (+3pts)
  • In the detail view, when the user taps the poster, a new screen is presented modally where they can view the trailer (+3pts)
  • Customize the navigation bar (+1pt)
  • List in any optionals you didn't finish from last week (+1-3pts) - Everything was finished last time

The following additional features are implemented:

  • List anything else that you can get done to improve the app functionality!

      1. I think I can play around more with WKWebView.
      2. I want to be able to edit the font of UIButtons set the foreground color, strokes, etc.
    

Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):

    1. I think I can play around more with WKWebView.
    2. I want to be able to edit the font of UIButtons set the foreground color, strokes, etc.

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough Video Walkthrough

GIF created with LiceCap.

Notes

Describe any challenges encountered while building the app.

    -WKWebView was a bit challenge, it seems that the load request is somewhat slow.
    -TapGestureRecognizer on an UIImage was a bit complicated, because of it my segue was not working.

License

Copyright [2018] [Luis Mendez]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Lab 3 - Flix

Flix is a movies app displaying box office and top rental DVDs using The Movie Database API.

Time spent: 10 hours spent in total

User Stories

The following required user stories are complete:

  • The following screens use AutoLayout to adapt to various orientations and screen sizes
    • Movie feed view (+3pt)
    • Detail view (+2pt)

The following stretch user stories are implemented:

  • Dynamic Height Cells (+1)
  • Collection View AutoLayout (+2)

The following additional user stories are implemented:

  • List anything else that you can get done to improve the app functionality! (+1-3pts)
  1. I could list all trailers and teasers in the DetailVC to be watched for each movie.
  2. I could add infinite scrolling by using the nowPlaying movies PAGES.

Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):

  1. How to use the Debug View Hierarchy tool better.

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough

GIF created with LiceCap.

Notes

Describe any challenges encountered while building the app.

  • The "Vertical Centers" constraint changing the backdrop item from "Center Y" to "Bottom" was difficult.

License

Copyright [2018] [Luis Mendez]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Lab 5 - Flix

Flix is a movies app displaying box office and top rental DVDs using The Movie Database API.

Time spent: 5 hours spent in total

User Stories

The following required user stories are complete:

  • Create a movie model (+2pt)
  • Implement the movie model (+2pt)
  • Implement property observers (+2pt)
  • Create a basic API Client (+2pt)

The following additional user stories are implemented:

  • List anything else that you can get done to improve the app functionality! (+1-3pts)

      1. I think instead of having functions to network for nowPlaying, for SuperHero and popular movies. I can use same function called say just getMovies and pass the url string from each VC and re use that function.
      2. Add infinite scrolling for every page as we only have one page to network call.
    

Please list two areas of the assignment you'd like to discuss further with your peers during the next class (examples include better ways to implement something, how to extend your app in certain ways, etc):

  1. Property observers, why are there so many ways to implement it and how and when to use them for specific problem.
  2. Why do we have two static variables and one instance in MovieApiManager and why func is not static and why it works when called without making it an instance.

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough

GIF created with LiceCap.

Notes

Describe any challenges encountered while building the app.

License

Copyright [2018] [Luis Mendez]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

This project lets users view a list of movies sourced from the The Movie Database API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published