RSSchool iOS, stage 2, task8
Use this API: https://docs.thecatapi.com/ to implement the app with the following features:
-
Add logic for passing Authentication (it should be possible to enter a username and password)
- if user enter a username and password, add logic to upload new images
- the application should work without authorization also
-
Ability to download and show cats in a list. (Use UICollectionView (Vertical layer))
- all loaded images should saved on the cache
- if you loaded this image before, get image from cache. No need to download image from the network
-
Infinite scrolling (your UICollectionView should upload fresh portion of cats every time it reaches the end)
- visually indicate that you are in the process of loading data
-
Detailed view. After clicking the cat in the UICollectionView “full” image should be opened new screen with modal presentation.
-
User could save the image to the Galery.
-
Use the MVP pattern instead MVC
- all network layer should be coverage using Unit Tests
- Feel free to develops the design of the application himself.
- Feel free to choose any icons from Internet and fonts
- Your app should support iOS 11 and higher
- Use ARC
- Use Autolayout and XIBs, storyboards are not allowed
- UI should look appropriate in all the devices and orientations
- No special UI for iPad, it should look like on iPhone (no split view controllers)