/Movies

Application to discover, search and bookmark movies

Primary LanguageSwift

Movies

Application to discover, search and bookmark movies.
It's iOS application working with The Movie DB API.

Flows

  • Discover: get familiar with movies of 4 categories in horizontal or vertical scrolling list views; navigate to movie details.
  • Search: search movie by keyword, keep search history; navigate to movie details.
  • My Lists: observe movies of 3 lists – Watched, Favorite and Watch Later – which you fill during discovering and searching; navigate to movie details.
  • Movie Detail: check out extended information about specific movie; add movie to specific list.

Architecture

  • MVVM as the main design pattern
  • RxSwift & RxCocoa for binding between View and ViewModel layers
  • Coordinators to separate navigation logic from View and ViewModel layers
  • CoreData and UserDefaults for data caching and persistence
  • Network layer with the ability to flexibly change implementations

Third-party dependencies

  • RxSwift — Reactive Programming in Swift.
  • RxCocoa — Reactive Programming in Swift.
  • Kingfisher — A lightweight, pure-Swift library for downloading and caching images from the web.

Demo

Discover

Search

My Lists