Cinemate is a native iOS application that allows users to discover and explore movies using The Movie Database (TMDb) API. It follows the VIPER architecture pattern and leverages Swift 5, UICollectionViewDiffableDataSource, UICollectionViewCompositionalLayout, and SDWebImage for efficient data management and beautiful movie displays.
Home | Genres | Details |
---|---|---|
- Genre Exploration: Explore a list of official movie genres.
- Discover Movies: Discover movies by genre.
- Movie Details: View detailed information about a selected movie.
- User Reviews: Read user reviews for movies.
- Trailers: Watch movie trailers on YouTube.
- Endless Scrolling: Implement endless scrolling for lists of movies and user reviews.
- Efficient Data Management: Utilize UICollectionViewDiffableDataSource for smooth and efficient data handling.
Cinemate follows the VIPER architecture pattern, ensuring a clean separation of concerns and maintainability of code. The architecture components include:
- View (MainViewController): Responsible for displaying the user interface and handling user input.
- Interactor (MainInteractor): Handles business logic, data fetching, and processing.
- Presenter (MainPresenter): Acts as an intermediary between the view and interactor, handling data formatting and presentation logic.
- Entity (MainEntity): Contains data models for movies and responses.
- Router (MainRouter): Handles navigation and routing within the app.
Cinemate's design is inspired by the popular Netflix app. The user interface offers an intuitive and visually appealing experience for browsing and discovering movies.
For detailed design elements, you can refer to the Figma Community Design that served as the basis for Cinemate's UI.
To run Cinemate locally, follow these steps:
- Clone the repository:
git clone https://github.com/chrisferdian/Cinemate
-
Open the project in Xcode.
-
Build and run the app on a simulator or physical device.
-
Make sure to replace the API key for The Movie Database (TMDb) in the NetworkingManager with your own API key.
- Launch the app and start exploring movies by genre.
- Select a movie to view its details, including user reviews and trailers.
- Scroll through the list of movies, and the app will load more automatically with endless scrolling.
Cinemate is released under the MIT License.
Enjoy exploring the world of movies with Cinemate! For questions or feedback, please contact us.