/Movie-MVVM

🎞️ Movie app written in Swift & UIKit using the Custom API. App built using the MVVM architecture and 100% programmatic UI (No Storyboard). It shows you collections of TV streaming and other movies. + UICollectionViewDiffableDataSource, NSDiffableDataSourceSnapshot

Primary LanguageSwift

Movie wakatime

Buy Me A Coffee

App shows you collections of TV streaming and other movies. Movie app written in Swift & UIKit using the Custom API created on the Mocky website. App built using the MVVM architecture and 100% programmatic UI (No Storyboard). + NSDiffableDataSourceSnapshot, UICollectionViewDiffableDataSource

Screen Shots

Group1X

Table of Contents


Description

  • App shows you collections of TV streaming and other movies.
  • Layout created using a UICollectionviewCompositionalLayout.
  • Project was completed using 100% programmatic UI (No Storyboard).
  • App built using the MVVM architecture.
  • This app includes descriptions for each movie as well as trailers and the movie’s rating.
  • Movie also contains movies that are from paid apps such as Netflix.
  • User can view movie details by tapping on a cell.
  • All images are cached uising SDWebImage cocoapod.
  • Movie details page contain backdrop and poster image, overview, duration and other relevant information.
  • User can view trailer of a particular movie in the youtube app or a web browser.
  • It also features the best movies that refresh weekly so you can choose and watch the latest movies that have the best ratings.

Todo

  • Refresh API data - trailer ulr, description, comments, rating for each movie.

Dependencies

# Library Description
1 SwiftLint A tool to enforce Swift style and conventions. SwiftLint enforces the style guide rules that are generally accepted by the Swift community.
2 SwiftGen SwiftGen is a tool to automatically generate Swift code for resources of your projects (like images, localised strings, etc), to make them type-safe to use.
3 SDWebImage This library provides an async image downloader with cache support.
4 SnapKit SnapKit is a DSL allows building constraints with minimal amounts of code while ensuring they are easy to read and understand.

Frameworks

  • UIKit
  • WebKit

Resources

How To Use

  • Clone the project and run it on Xcode 12 or above.
  • Open a terminal window, and $ cd into your project directory.
  • Run $ pod install.
  • Open the Movie.xcworkspace.

Back To The Top