Movie-MVVM icon indicating copy to clipboard operation
Movie-MVVM copied to clipboard

🎞️ 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....

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
  • Dependencies
  • Resources
  • How To Use
  • Author Info

Description

  • [X] App shows you collections of TV streaming and other movies.
  • [X] Layout created using a UICollectionviewCompositionalLayout.
  • [X] Project was completed using 100% programmatic UI (No Storyboard).
  • [X] App built using the MVVM architecture.
  • [X] This app includes descriptions for each movie as well as trailers and the movie’s rating.
  • [X] Movie also contains movies that are from paid apps such as Netflix.
  • [X] User can view movie details by tapping on a cell.
  • [x] All images are cached uising SDWebImage cocoapod.
  • [X] Movie details page contain backdrop and poster image, overview, duration and other relevant information.
  • [X] User can view trailer of a particular movie in the youtube app or a web browser.
  • [X] 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