GithubHelp home page GithubHelp logo

swiftui-combine's Introduction

swiftui-videos

Sample app which loads list of videos on the list and displays the details of the selected videos.

Architecture

  • MVVM design pattern.
  • Combine framework

Components of the application

ViewModels
  • VideoDetailsViewModel
  • VideoListViewModel
Data Model
  • Video(Represents VideoList API Response)
Views
  • RootContentView (Root view of the application. Created with application launch)
  • VideosListView (Displays list of videos in a ListView)
  • VideoDescriptionView (Displays video title and description)
  • VideoDetailView (Contains VideoDescriptionView andd VideoPreview)
  • AVPlayerView(Plays video with AVPlayer)
  • VideoPreview (Displays video thumbnail and allow playing video)
  • VideoThumbView (Displayed on the ListView. Contains video thumbnail and video title. On tap navigates to VideoDetailView)
Helpers
  • DownloadWorker (Downloads video and saves in the application document directory)
  • VideoFetchHandler(Responsible for calling video list API and parse JSON response)

Build and runtime requirements

  • iOS 13.0 or higher
  • Xcode 11.4.1
  • Swift 5.0, SwiftUI, Combine
  • CococaPods

Third-party dependencies:

  • SDWebImageView
  • Alamofire

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.