https://github.com/diggosilva/tvshows
An application that brings a list of TV shows
https://github.com/diggosilva/tvshows
ios spm swift uikit xcode
Last synced: 10 months ago
JSON representation
An application that brings a list of TV shows
- Host: GitHub
- URL: https://github.com/diggosilva/tvshows
- Owner: diggosilva
- Created: 2025-03-23T12:48:11.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-04-20T12:24:55.000Z (11 months ago)
- Last Synced: 2025-04-20T13:31:25.230Z (11 months ago)
- Topics: ios, spm, swift, uikit, xcode
- Language: Swift
- Homepage:
- Size: 199 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TVShows
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 |
| --- | --- | --- |
|  |  |  |
## Contents
- [Features](#features)
- [Requirements](#requirements)
- [Functionalities](#functionalities)
- [Setup](#setup)
## Features
- View Code (UIKit)
- Modern CollectionView Diffable
- Modern TableView
- UserDefaults
- Custom elements
- Pagination
- Dark Mode
## Requirements
- iOS 17.0 or later
- Xcode 15.0 or later
- Swift 5.0 or later
## Functionalities
- [x] **TV Shows List**: Displays a list of available TV shows for viewing.
- [x] **Pagination**: Implements pagination in the TV shows list to efficiently load and display content as the user scrolls.
- [x] **TV Show Details**: Tapping on a show takes the user to a detailed screen with information about the cast, seasons, and episodes.
- [x] **Favorite TV Shows**: Allows the user to favorite a TV show. This is done using `UserDefaults` to store the favorite shows.
- [x] **Favorites Page**: Displays all TV shows that the user has favorited. From this page, users can also access the details of each show.
- [x] **Remove from Favorites**: From the favorites page, users can remove shows from their favorites list.
- [x] **Dark Mode Support**: Full support for Dark Mode, offering a more pleasant user experience in different lighting conditions.
- [x] **UIKit Interface**: Utilizes UIKit components for building the user interface.
- [x] **Modern Collections**: Implements `UICollectionViewDiffableDataSource` to optimize data management and UI updates.
## Setup
First of all download and install Xcode, Swift Package Manager and then clone the repository:
```sh
$ git@github.com:diggosilva/TVShows.git
```
After cloning, do the following:
```sh
$ cd /TVShows/
$ open TVShows.xcodeproj/
```