This is a SwiftUI-based movie app that follows the MVVM (Model-View-ViewModel) architecture. The app integrates Firebase Authentication for Single Sign-On (SSO) and utilizes Firebase Database to store user details and watchlist data. Additionally, it fetches movie data from The Movie Database (TMDB) API.
Get started with the TMDB API
- Dark Mode: The app supports Dark Mode and light mode.
- Trending Movies: Explore trending movies based on today and this week for the latest and most popular content.
- Top Rated Movies: Discover top-rated movies.
- Movies by Genres: Browse movies categorized by genres, allowing users to find content based on their preferences.
- Movie Details View:
- Add to Watchlist: Save movies to your watchlist for later viewing.
- Movie Overview: Get a detailed overview of each movie.
- Movie Trailer: Watch trailers directly within the app.
- Cast Information: Explore the cast details of each movie.
- Search Movies: Utilize a search feature to find movies quickly based on the titles.
- Watchlist: Manage your watchlist by adding or removing movies.
- Profile View: View the user profiles and the log out option.
iOS version: 17.0
cinemate-github.mp4
![](https://private-user-images.githubusercontent.com/62757898/300177961-0e4f9670-e2cc-4f88-bf6f-4ffea99364de.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NzAzNTQsIm5iZiI6MTcyNDY3MDA1NCwicGF0aCI6Ii82Mjc1Nzg5OC8zMDAxNzc5NjEtMGU0Zjk2NzAtZTJjYy00Zjg4LWJmNmYtNGZmZWE5OTM2NGRlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDExMDA1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlM2U5MWU3NDRkYzBjNjJjMjUzMzYzNjZkY2Q5Njk2NGI4MTkxMTlkNGNlYzkwMzdiMjIzYjFjZjcxZWU4NDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.g9XYWYsKmb4UEKz0f-r_l_KmPRRwORmA1vuhR0E5lHs)
![](https://private-user-images.githubusercontent.com/62757898/300178348-3841b330-a2c0-4186-8ffe-d7fdb62eccee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ2NzAzNTQsIm5iZiI6MTcyNDY3MDA1NCwicGF0aCI6Ii82Mjc1Nzg5OC8zMDAxNzgzNDgtMzg0MWIzMzAtYTJjMC00MTg2LThmZmUtZDdmZGI2MmVjY2VlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDExMDA1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZkYjcxMzZhZjRiYmZmZjI4YTE1MDdiNGZmMjc0NTA4OTdiNzhkM2NjZGRmYjEwN2ZkNTljZmM0MDNiMTI1YWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.KwCqj04lb5HPc3ik9RKBqUG6Y3HsbQJPAfle-M7hLkI)
- Xcode: Ensure you have Xcode installed on your development machine.
- Firebase Account: Create a Firebase project and set up Firebase Authentication and Database.
- TMDB API Read Access Token: Obtain an API Read Access Token from TMDB to access their movie data.
-
Clone the repository
git clone https://github.com/avishka964/cinemate.git
-
Configure Firebase
- Add your Firebase configuration plist file to the project.
- Update the Firebase settings in the app accordingly.
-
Configure TMDB API Read Access Token
-
Add YouTubePlayerKit Package:
- The app uses the YouTubePlayerKit package for displaying YouTube videos. Ensure that you have integrated this package into your project.
-
Build and run the app in Xcode.