Skip to content

Pr0gmaT1k/Newspaper

Repository files navigation

Newspaper iOS

Language: Swift 5 CocoaPods compatible CocoaPods

An incredible technical test.

Building the code

  1. Install the latest Xcode developer tools from Apple.
  2. Install Pods
    sudo gem install cocoapods
  3. Clone the repository:
    git clone https://github.com/Pr0gmaT1k/Newspaper
  4. Pull in the project dependencies:
    cd Newspaper
    pod install
  5. Open Newspaper.xcworkspace in Xcode.

Tools:

The Realm object and ObjectMapper decoder are generated from Tools/DataModel.xcdatamodel with Gyro. Gyro is a tool to generate Realm model classes, for both Android (Java & Kotlin) and iOS/macOS (Swift), from an .xcdatamodel file.

  1. Install Gyro: ⚠️ Need an unreleased version (in review) with the new codable template. Will be validated soon. Check progress ⚠️

    gem install gyro
  2. Modify the data model in Tools/DataModel.xcdatamodel and then regenerate with gyro:

    ./gyro.sh

Networking:

  • Moya: Network abstraction layer written in Swift.
  • JWTDecode: This library will help you check JWT payload

Model & Decode:

  • RealmSwift: Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS, macOS, tvOS & watchOS versions of Realm Swift & Realm Objective-C.
  • Codable: A type that can convert itself into and out of an external representation.

UI:

  • Reusable: A Swift mixin to use UITableViewCells, UICollectionViewCells and UIViewControllers in a type-safe way, without the need to manipulate their String-typed reuseIdentifiers.

Coding Tools:

  • SwiftLint: A tool to enforce Swift style and conventions, loosely based on GitHub's Swift Style Guide.
  • SwiftGen: SwiftGen is a tool to auto-generate Swift code for resources of your projects, to make them type-safe to use.

About

Jumpitt labs technical test

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages