This project is a "Netflix Clone" mobile application developed with Swift and UIKit. The app integrates with the The Movie Database (TMDb) API and the YouTube API to provide images, information, and trailers for popular movies and TV shows. It follows the MVVM (Model-View-ViewModel) design pattern, which enhances modularity, testability, and maintainability.
- Discover popular movies and TV shows
- Detailed information pages for movies and TV shows
- Watch trailers of movies and TV shows
- Download and view favorite movies and TV shows
- See upcoming movies and TV shows
- Search functionality to find content
iOS 13.0 or later
Xcode 14.0 or later
SDWebImage - Used for image downloading and caching.
CoreData - Used for local data storage and management.
- Clone this repository or download it as a zip.
- Install the required dependencies by running pod install in the project directory via the terminal.
- Go to The Movie Database (TMDb) API, create an account, and obtain your API key.
- Go to the YouTube API and create a project to get your YouTube API key.
- Open the Contents.swift file inside the Services folder and replace the empty strings with your actual API keys:
struct Constants {
static let API_KEY = "YOUR_TMDB_API_KEY"
static let baseURL = "https://api.themoviedb.org"
static let youtubeAPI_KEY = "YOUR_YOUTUBE_API_KEY"
static let youtubeBaseURL = "https://youtube.googleapis.com/youtube/v3/search?"
}
- Open Xcode, open NetflixClone.xcworkspace, and run the app on a simulator or a real device.