Merchandising
An Application to list the products and on selection of product list the detail of particular product
This application uses VIPER design pattern as architecture and SOLID principle. It has 2 modules named list and details module. Common Codes are moved to common files
Common Files
- HttpClient : Responsible for creating request and making network calls and callback for success and failed cases
- Utils : Check the internet connection, download the data
- AppConstants : Holds constant used across appliction
App-Module
- List Module Module uses viper architecture and SOLID principle to segreate the responsibility Makes network call to fetch the list of product.
- Detaile Module Simple module to display the selected product details
Custom Framework (Can be used in different module)
ImageCache - custom framework created to save the image in cache and next time use it from cache if it exists. If the image does not exist it saves the image in Image Cache Source code of Framework can be found at repository https://github.com/Poonam24/ImageCache
Font Used
Open-Sans Fonts are used in application
Unit Testing :
Each Unit testing code is proviced in the module
UI test :
Scenario Covered :
- App Launches,
- table view listed
- on click of cell it goes to details view
- On click of back button of navigation bar, comes to first screen
- table view swiped up
The application is developed on Xcode 12 and has been tested on iPhone 11, 11 Pro, ipod , iPhone SE.
Screenshots from couple of devices