{"id":13672668,"url":"https://github.com/siuzanna/Movie-MVVM","last_synced_at":"2025-04-27T22:32:37.393Z","repository":{"id":41836634,"uuid":"439318972","full_name":"siuzanna/Movie-MVVM","owner":"siuzanna","description":"🎞️  Movie app written in Swift \u0026 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","archived":false,"fork":false,"pushed_at":"2025-01-11T12:02:40.000Z","size":13782,"stargazers_count":22,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-18T13:12:44.654Z","etag":null,"topics":["app","extensions","ios","movie","movie-app","movies","movies-api","mvvm","mvvm-ios","nsdiffabledatasourcesnapshot","programmatically","snapkit","swift","uicollectionviewdiffabledatasource","uikit"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/siuzanna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-17T12:04:53.000Z","updated_at":"2025-02-02T08:57:48.000Z","dependencies_parsed_at":"2024-11-02T00:02:57.715Z","dependency_job_id":"dfcc0c7e-6105-418d-b25c-061eb48b4558","html_url":"https://github.com/siuzanna/Movie-MVVM","commit_stats":null,"previous_names":["siuzanna/movie-mvvm","siuzanna/movie"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuzanna%2FMovie-MVVM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuzanna%2FMovie-MVVM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuzanna%2FMovie-MVVM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/siuzanna%2FMovie-MVVM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/siuzanna","download_url":"https://codeload.github.com/siuzanna/Movie-MVVM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251219600,"owners_count":21554444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","extensions","ios","movie","movie-app","movies","movies-api","mvvm","mvvm-ios","nsdiffabledatasourcesnapshot","programmatically","snapkit","swift","uicollectionviewdiffabledatasource","uikit"],"created_at":"2024-08-02T09:01:43.592Z","updated_at":"2025-04-27T22:32:33.541Z","avatar_url":"https://github.com/siuzanna.png","language":"Swift","funding_links":["https://www.buymeacoffee.com/siuzanna"],"categories":["Swift"],"sub_categories":[],"readme":"# Movie        [![wakatime](https://wakatime.com/badge/github/siuzanna/Movie.svg)](https://wakatime.com/badge/github/siuzanna/Movie) \n  \n\u003ca href=\"https://www.buymeacoffee.com/siuzanna\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\nApp shows you collections of TV streaming and other movies. Movie app written in Swift \u0026 UIKit using the [Custom API](https://www.mocky.io/v3/3feccf06-6bc1-480d-97af-bbc05d785f86) created on the Mocky website. App built using the MVVM architecture and 100% programmatic UI (No Storyboard). + NSDiffableDataSourceSnapshot, UICollectionViewDiffableDataSource\n\n### Screen Shots\n![Group1X](https://user-images.githubusercontent.com/64474454/146820234-84c70414-719a-4471-9513-8cc813a14bbe.png)\n---\n\n### Table of Contents\n\n- [Description](#description)\n- [Dependencies](#dependencies)\n- [Resources](#resources)\n- [How To Use](#how-to-use)\n- [Author Info](#author-info)\n\n---\n\n## Description\n\n- [X] App shows you collections of TV streaming and other movies. \n- [X] Layout created using a UICollectionviewCompositionalLayout.\n- [X] Project was completed using 100% programmatic UI (No Storyboard).\n- [X] App built using the MVVM architecture.\n- [X] This app includes descriptions for each movie as well as trailers and the movie’s rating.\n- [X] Movie also contains movies that are from paid apps such as Netflix.\n- [X] User can view movie details by tapping on a cell.\n- [x] All images are cached uising SDWebImage cocoapod.\n- [X] Movie details page contain backdrop and poster image, overview, duration and other relevant information.\n- [X] User can view trailer of a particular movie in the youtube app or a web browser.\n- [X] It also features the best movies that refresh weekly so you can choose and watch the latest movies that have the best ratings.\n\n### Todo\n\n- [ ] Refresh API data - trailer ulr, description, comments, rating for each movie.\n\n## Dependencies\n|#|Library|Description|\n|-|-|-|\n|1|[SwiftLint](https://github.com/realm/SwiftLint)|A tool to enforce Swift style and conventions. SwiftLint enforces the style guide rules that are generally accepted by the Swift community.|\n|2|[SwiftGen](https://github.com/SwiftGen/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.|\n|3|[SDWebImage](https://github.com/SDWebImage/SDWebImage)|This library provides an async image downloader with cache support.|\n|4|[SnapKit](https://github.com/SnapKit/SnapKit)|SnapKit is a DSL allows building constraints with minimal amounts of code while ensuring they are easy to read and understand.|\n  \n#### Frameworks\n\n- UIKit\n- WebKit \n  \n## Resources\n \n- Design - [Figma design](https://www.figma.com/community/file/988093088740037911/VOD-Platform-App) created by [Mehri Fekri](https://www.figma.com/community/file/988093088740037911/VOD-Platform-App)\n- API - [Link to Mocky](https://www.mocky.io/v3/3feccf06-6bc1-480d-97af-bbc05d785f86)\n\n## How To Use\n\n- Clone the project and run it on Xcode 12 or above.\n- Open a terminal window, and $ cd into your project directory.\n- Run $ pod install.\n- Open the Movie.xcworkspace.\n\n[Back To The Top](#Movie)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiuzanna%2FMovie-MVVM","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiuzanna%2FMovie-MVVM","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiuzanna%2FMovie-MVVM/lists"}