AlbGarciam / TrackRoute

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TrackRoute

Installation

Xcode config is based on Xcodegen. In order to configure your local environment you're going to need to execute:

./prepare_environment.sh

About the code

The code is structured following CLEAN principles. It is splitted into the following layers:

  • Domain: Business logic and core logic of the app
  • Data: Layer that handles the origin of the data the app presents
  • Networking: Abstraction of the networking layer
  • Presentation: Layer in charge of presenting the information to the user
  • Components: Provides the DSL for the application
  • App: Represents the final binary which is going to be delivered to the user

Dependencies

Dependencies are intended to be delivered as precompiled frameworks. Polyline and OHHTTPStubsdon't provide a precompiled xcframework so we're going to use them in the source code.

  • DependencyInjection: Is located in frameworks (usually I'll distribute it through SPM instead of adding it on the repo). If you want to check the code it's located here. Allows dependency inversion in a simple manner.
  • OHHTTPStubs: Makes network testing easier.
  • Polyline: Requested by the project

About testing

Because of the limited time I was not able to achieve 100% of code coverage. The tests are intended to show how I will code the tests for each separate element.

About


Languages

Language:C 55.0%Language:Swift 44.7%Language:Ruby 0.3%Language:Shell 0.0%