Skip to content

nyekimov/WLAssignment

Repository files navigation

WLAssignment

A simple viewer of Walmart test products


Cocoapods tool is used for the dependency management. If you don't have it, install first. Then execute a command line in the terminal pod install and open WLAssignment.xcworkspace.

The application is based on MVVC architecture. There is a product list table view controller driving table cells with products. UIStackViews are used in the table view's table cells for the UI scalability across screens with different wide. When a product is selected, product detail view controller opens and displays product details.

The table view is managed reactively by RxSwift suite.

R.swift is used to get strong references to the resources such as storyboards, nibs, and images.

Alamofire is used for the HTTP networking.

Kingfisher is used for asynchronous image downloading and caching.

SwiftLint is used to enforce Swift style and conventions, loosely based on GitHub's Swift Style Guide.

The project includes a target WLAssignmentTests with unit tests. The product list network request and the product list model view are tested as they contain most of the app business logic.

Quick, RxNimble and RxTest are used to simplify reactive testing.

Mockingjay is used for stubbing HTTP requests.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published