Adidas iOS Engineer Coding Assignment.
- Product List - entry point of the app - shows the list of products fetched from the server, has an entry point for accessing the Add Product screen
- Product Details - accessed by selecting a product on the Product List screen - shows the product details and reviews, has an entry point for accessing the Add Review screen
- Add Product - accessed by tapping the + button on the Product List screen - enables user to add a new product
- Add Review - accessed by tapping the + button on the Product Details screen - enables user to add a review for an existing product
- Install Docker
- Clone the git repo
git clone https://bitbucket.org/adichallenge/product-reviews-docker-composer.git
- Run docker, navigate to the gir directory and run
docker-compose up
- API docs for the 2 respective services are available at http://localhost:3001/api-docs/swagger/ and http://localhost:3002/api
- Kingfisher - added using SPM
- Run the server according to instructions from above
- Run the app (after SPM finishes fetching the one dependency)
- Considering the time constraints, I implemented only Unit-Tests, and not for all the classes, but I gave a good example of how I would continue
- Regarding the UI tests, I would implement the Page Object Model system that I described in this article
- If I had more time, I would have implemented features such as proper localization / locale support, dark mode, and would have designed and implemeted a more advanced design instead of the rudimentary one that I have used