- Layout: View Code (UIKit)
- Architecture: MVVM
- Kingfisher: for fetching and caching remote images
- RxSwift: for the bindings between view controllers and view models
- RealmSwift: for storing favorite shows
All mandatory features have been completed.
- List all of the series contained in the API used by the paging scheme provided by the API.
- Allow users to search series by name.
- The listing and search views must show at least the name and poster image of the series.
- After clicking on a series, the application should show the details of the series, showing the following information:
- Name
- Poster
- Days and time during which the series airs
- Genres
- Summary
- List of episodes separated by season
- After clicking on an episode, the application should show the episode’s information, including:
- Name
- Number
- Season
- Summary
- Image, if there is one
Of the optional features, only the protection by PIN number hasn't been completed.
- Allow the user to set a PIN number to secure the application and prevent unauthorized users.
- For supported phones, the user must be able to choose if they want to enable fingerprint authentication to avoid typing the PIN number while opening the app.
- Allow the user to save a series as a favorite.
- Allow the user to delete a series from the favorites list.
- Allow the user to browse their favorite series in alphabetical order, and click on one to see its details.
- Create a people search by listing the name and image of the person.
- After clicking on a person, the application should show the details of that person, such as:
- Name
- Image
- Series they have participated in, with a link to the series details.