NYTimes
Install
- Run in terminal
pod install
App Structure
-
App structure I use MVVM with RxSwift.
-
I use the **The Clean Architecture ** .
-
I use CellReusable protocol and create 2 extensions for UITableView to reduce code when reusing the cell.
-
Create Extension for UIImageView to download the image from the link.
-
I used SwiftLint to enhance Swift style.
-
I used JSONExport to generate model from JSON.
-
I used create UI with code.
-
I use this answer to check internet connection
-
I used Cocopods.
UnitTest
- I apply Arrange, Act and Assert (AAA) Pattern in Unit Testing.
know Issues
- Not show Details for news when user tapped on cell
- Not handle no internet connection
- Not show loading at the begging of view controller till getting the data from API
- Make the Domain and Data layers as Targets will make the code cleaner and resuable
- Remove Shimmer