ecommerce-ios-demo icon indicating copy to clipboard operation
ecommerce-ios-demo copied to clipboard

E-commerce Today's deals interaction, iOS demo

E-commerce Today's deals interaction, iOS demo

Swift v4.2 platform iOS 100% code coverage

Based on Dribbble shot by Matt Koziorowski, implemented by Dariusz Rybicki for EL Passion

Dribbble shot Demo app
Shot Preview

Setup

Requirements:

To set up the project, run setup.sh in Terminal.

Run

Open Demo.xcodeproj and run EcommerceDemo scheme in a chosen simulator. If you want to run the demo on a real device, you need to update code signing configuration first.

Implementation details

  • Demo is covered by unit & snapshot tests, coverage is 100%.
  • There are no "production" dependencies, external frameworks are used to make testing easier
  • Data are mocked up in Product+Demo.swift file
  • Product card pagination is implemented in DealsViewController using ScrollPageController.
  • Product card images parallax effect is implemented in ProductCardViewController.
  • Product present / dismiss transition is implemented in ProductPresenter and ProductPresentTransition using SnapshotTransition.
  • The transition is covered by snapshot tests. You can see reference images composed into gif below.
  • Custom scroll behaviour on product screen (scrolling top background and floating title label) is implemented in ProductView.
Present & Dismiss Transition
snapshot

License

Copyright © 2019 EL Passion

License: GNU GPLv3