MaiAbdElmonem / NYTimes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About


Languages

Language:Swift 98.6%Language:Ruby 1.4%