Flix is a movies app that allows users to browse movies now playing in thereaters using the The Movie Database API.
The Movie Database API provides a current list of the available methods on movie, tv, actor and image API.
- Swift
- Alamofire
- AlamofireImage
- AFNetworking
- Foundation
- WebKit
- User sees app icon in home screen and styled launch screen
- User can scroll through a list of movies currently playing in theaters from The Movie DB API
- User can "Pull to refresh" the movie list
- User sees a loading state while waiting for the movies to load
- User sees an alert when there's a networking error
- User can search for a movie
- While poster is being fetched, user see's a placeholder image
- User sees image transition for images coming from network, not when it is loaded from cache
- Customize the selection effect of the cell
- For the large poster, load the low resolution image first and then switch to the high resolution image when complete
- User can tap a cell to see a detail view
- User can tap a tab bar button to view a grid layout of Movie Posters using a CollectionView
- User can tap a poster in the collection view to see a detail screen of that movie
- In the detail view, when the user taps the poster, a new screen is presented modally where they can view the trailer
- Customize the navigation bar
- User sees a loading state while waiting for the poster images to load
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
- The following screens use AutoLayout to adapt to various orientations and screen sizes
- Movie feed view
- Detail view
- Dynamic Height Cells
- Collection View AutoLayout
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
The following required user stories are complete:
- Create a movie model
- Implement the movie model
- Implement property observers
- Create a basic API Client
Here's a walkthrough of implemented user stories:
GIF created with LiceCap.
Copyright [2018] [Pann Cherry]
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
http://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.