Movie Store with SwiftUI and Combine.

Related tags

Video MovieTest
Overview

MovieStore

Movie Store with SwiftUI and Combine.

La app se realizo en el patrón MVVM (Model - View - ViewModel)

Model

Dentro del la app van a encontrar Tres Modelos

MovieMOdel - MoviesResponse, encargado de la información de las películas, listado de (TOP - POPULAR - UPCOMING) DetailMovieModel - DetailMovieResponse, encargado d e almacenar la información de detalle de una película. MovieVideoModel - -MovieVideoResponse, Lista de Videos relacionados a una película.

View

Existen 4 vistas principales.

HomeView que posee un elemento de tipo TabView. y carga los ObservableObject para cada una de las listas.

HomeMovieCatView que recibe como parámetro el ObservableObject que va a pintar, Listas de Películas de una Categoría con su barra de Search mediante su ViewModel.

DetailMovieView se utiliza para mostrar el detalle de una película, esta recibe como parámetro el id de la película y carga un observableObject con el detalle utilizando el ViewModel

SafariView la misma se encarga de mostrar todo lo relacionado a la web, como HomePage de las películas, videos de youtube, etc.

ViewModel

Se crearon dos ViewModel

MovieHomeDataVM esta es de tipo ObservableObject el mismo comprende un Published con la lista de películas obtenidas del servicio (https://api.themoviedb.org) la cual almacena la lista original y exponer mediante el published la lista filtrada según la propiedad Search de tipo Published.

DetailMovieVM esta es de tipo ObservableObject el mismo comprende un Published con el detalle de la películas obtenidas del servicio (https://api.themoviedb.org).

Services

MovieStore clase utilizada para el consumo del servicio de películas de https://api.themoviedb.org, contiene 3 metodos los cuales sin GetListMovie, getMovie y getMovieVideo.

Utilidades

AsyncImage clase utilizada para la carga asíncrona de las imágenes. Collapsible View para mostrar secciones de la pagina de forma desplegable.

You might also like...
MMPlayerView - Custom AVPlayerLayer on view and transition player with good effect like youtube and facebook
MMPlayerView - Custom AVPlayerLayer on view and transition player with good effect like youtube and facebook

MMPlayerView Demo-Swift List / Shrink / Transition / Landscape MMPlayerLayer ex. use when change player view frequently like tableView / collectionVie

Yattee: video player for Invidious and Piped built for iOS 15, tvOS 15 and macOS Monterey
Yattee: video player for Invidious and Piped built for iOS 15, tvOS 15 and macOS Monterey

Video player with support for Invidious and Piped instances built for iOS 15, tvOS 15 and macOS Monterey.

Yattee: video player for Invidious and Piped built for iOS, tvOS and macOS
Yattee: video player for Invidious and Piped built for iOS, tvOS and macOS

Video player for Invidious and Piped instances built for iOS, tvOS and macOS. Features Native user interface built with SwiftUI Multiple instances and

Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.

HaishinKit (formerly lf) Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS. Issuesの言語は、日本語が分かる方は日本語でお願いします! Sponsored with 💖

A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.
A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.

A high-level video composition framework build on top of AVFoundation. It's simple to use and easy to extend. Use it and make life easier if you are implementing video composition feature.

MobilePlayer - A powerful and completely customizable media player for iOS
MobilePlayer - A powerful and completely customizable media player for iOS

MobilePlayer A powerful and completely customizable media player for iOS. Table of Contents Features Installation Usage Customization Skinning Showing

NextLevelSessionExporter is an export and transcode media library for iOS written in Swift.

NextLevelSessionExporter 🔄 NextLevelSessionExporter is an export and transcode media library for iOS written in Swift. The library provides customiza

▶️ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

A set of tools to trim, crop and select frames inside a video

PryntTrimmerView A set of tools written in swift to crop and trim videos. Example To run the example project, clone the repo, and run pod install from

Owner
null
Audio player demo based on Swift and SwiftUI, which can play local or network audio.

SwiftAudioDemo Audio player demo based on Swift and SwiftUI, which can play local or network audio. In this demo, I have made a radio player to play n

Jensen Zhang 6 Mar 13, 2022
A SwiftUI framework which makes it easy to integrate Video Call and Chat within a few lines of code.

Welcome to iStream! This SwiftUI Framework allows you to add Video Call and Chat to your project within a few lines of code. To use this Framework, yo

null 2 Aug 19, 2022
YouTube player for SwiftUI

SwiftUI YouTube Player for iOS and MacOS Fully functional, SwiftUI-ready YouTube player for iOS 14+ and MacOS 11+. Actions and state are both delivere

Gordan Glavaš 12 Dec 25, 2022
Official SwiftUI SDK for Stream Chat.

SwiftUI - Currently in Development ?? The SwiftUI SDK is built on top of the StreamChat framework and it's a SwiftUI alternative to the StreamChatUI S

Stream 136 Dec 23, 2022
Pretty iOS mobile screens + AVPlayer video view ––– made in SwiftUI

UrbanVillageProjectScreens Recreated UI screens from the conceptual Urban Village Project. Read more about the project here. Please open an issue if y

10011.co 23 Dec 29, 2022
VideoBackgroundSwiftUI - Video Background loop made with SwiftUI

VideoBackgroundSwiftUI (Updated) Video Background loop made with SwiftUI Video N

Shreyas Bhike 19 Sep 9, 2022
An alternative to SwiftUI's VideoPlayer that includes an overlay button that will transition the player to be presented full screen.

The VideoPlayer provided by SwiftUI out of the box is great but it's missing one very important feature: full screen presentation mode. AZVideoPlayer behaves pretty much exactly like VideoPlayer, but adds the button that's provided by AVPlayerViewController to go full screen.

Adam Zarn 6 Dec 25, 2022
Thin SwiftUI wrapper around `yt-dlp`

SwiftyYTDL Thin SwiftUI wrapper around yt-dlp - popluar Python module for downloading stuff of Youtube, Twtitter, Instagram, TikTok and others. Depend

Danylo Kostyshyn 4 Dec 22, 2022
The main goal of this mini project is to inspire you on what we can accomplish with the SwiftUI framework.

COMPLEX SWIFTUI GESTURES We will create such a custom button with complex gestures that we can not find in Apple’s stock user interface library. PARALLAX EFFECT By using multiple movements in the opposite direction (parallax effect) we can add depth to this amazing onboarding screen.

Ghullam Abbas 4 Oct 17, 2022
High-performance and flexible video editing and effects framework, based on AVFoundation and Metal.

High-performance and flexible video editing and effects framework, based on AVFoundation and Metal.

BearRuan 650 Dec 30, 2022