A Swift iOS TV Shows app. An application built solely for study purposes. The app brings a list of TV shows, cast, seasons, episodes and details. And you can save and remove TV Shows from the favorites list.
| Demo | Details | List |
|---|---|---|
![]() |
![]() |
- View Code (UIKit)
- Modern CollectionView Diffable
- Modern TableView
- UserDefaults
- Custom elements
- Pagination
- Dark Mode
- MVVM with Combine
- Await/Async Request
- Unit Tests
- iOS 17.0 or later
- Xcode 15.0 or later
- Swift 5.0 or later
- TV Shows List: Displays a list of available TV shows for viewing.
- Pagination: Implements pagination in the TV shows list to efficiently load and display content as the user scrolls.
- TV Show Details: Tapping on a show takes the user to a detailed screen with information about the cast, seasons, and episodes.
- Favorite TV Shows: Allows the user to favorite a TV show. This is done using
UserDefaultsto store the favorite shows. - Favorites Page: Displays all TV shows that the user has favorited. From this page, users can also access the details of each show.
- Remove from Favorites: From the favorites page, users can remove shows from their favorites list.
- Dark Mode Support: Full support for Dark Mode, offering a more pleasant user experience in different lighting conditions.
- UIKit Interface: Utilizes UIKit components for building the user interface.
- Modern Collections: Implements
UICollectionViewDiffableDataSourceto optimize data management and UI updates.
First of all download and install Xcode, Swift Package Manager and then clone the repository:
$ git@github.com:diggosilva/TVShows.gitAfter cloning, do the following:
$ cd <diretorio-base>/TVShows/
$ open TVShows.xcodeproj/
