This project is a clone of the popular Netflix application built using Swift and UIKit. It demonstrates the use of various iOS development concepts including MVC architecture, network calls, data persistence with Realm, and the use of programmatic UI components such as UITableView, UICollectionView, and UISearchController. This project was developed by following a YouTube playlist to improve my iOS development skills, with some additional upgrades and enhancements.
- Home Screen: Displays featured movies and categories using a combination of UITableView and UICollectionView. Enhanced with custom views and cells for a polished look.
- Upcoming Movies: Shows a list of upcoming movies, now with improved data persistence using Realm.
- Search: Implements UISearchController to allow users to search for movies.
- Movie Details: Provides detailed information about selected movies, including previews and trailers. Optimized network handling using URLSession for faster loading.
- Watchlist: Allows users to add movies to their watchlist and persist this data using Realm. Upgraded with better error management.
- Network Handling: Uses URLSession for network calls to fetch movie and YouTube data. Additionally, Dispatch Groups in HomeViewController handle multiple network calls concurrently for improved performance.
Watch a brief demonstration of the Netflix Clone app in action:
vide.mp4
Let's take a peek into the world of our Netflix Clone app:
Home Screen | Upcoming Movies | Search Screen | Search Results | Movie Details | Watchlist |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
This project is licensed under the MIT License. See the LICENSE file for details.
- The Movie Database (TMDb) API for movie data.
- YouTube Data API for movie trailers.
- Realm for data persistence.
- SDWebImage for image loading and caching.
Enjoy watching your favorite movies with this Netflix Clone app! If you have any questions or suggestions, feel free to open an issue or submit a pull request.