WildStudio / RecipesBook

Code challenge iOS @ Badi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Recipe Puppy App for iPhone 

General information

This repository contains the Technical Test for Apps Developer from Badi.

Coding Style Guide

This code follows the Ray Wenderlich Swift Style Guide.

Architecture

This project follows the MVVM (Model View ViewModel) architecture with repositories and use cases, at the presentation layer. ViewModel are where the view business logic is added. A ViewModel only communicates with repositories and view controllers. We are using the delegate pattern to communicate with view controllers and closures, reactive binding can also be added as a future enhancement.

Testing

Testing is done with the help of protocols. Also both the network and model layer are unit tested and integration tests have been added. All test will be executed (including the frameworks when executing RecipePuppyTests target. Testing at presentation layer can be improved adding UI tests and some sort of integration tests. There's also left to do the CI setup.

Branching Strategy

Branching strategy follows GitFlow

Dependencies

This projects make use of the following dependencies through Swift Package Manager

Usage

In order to ran this app open RecipePuppy.xcworkspace, choose RecipePuppy scheme and press run (cmd+R) either with a test device or an iPhone simulator (Minimum deployment target is iOS13)

About

Code challenge iOS @ Badi


Languages

Language:Swift 97.9%Language:Objective-C 1.2%Language:Ruby 0.9%