tomaskraina / AirBankCodeChallenge

Test project for AirBank - A simple MVVM-C / RxSwift app that shows filtered list of transactions and its details

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AirBank Code Challenge

Requirements

  • iOS 12.0+
  • Xcode 10.0+
  • Swift 4.2
  • Carthage 0.31.1+

QuickStart

How to run the project

This project uses Carthage as a dependency manager of choice. The dependencies are not included in the project so you need open the this folder in Terminal and run the following command:

carthage bootstrap --platform ios

Architecture

When possible, AirBank follows MVVM-C architecture. RxSwift, a popular reactive-programing framwork is used for binding views with view models. View controllers send events to the coordinator by using the delegate pattern.

Project structure

The whole project is structured in scenes where each scene represents one screen in the app. Each scene consits of one *ViewController, *ViewModel, and a *.storyboard file.

All the other files are structured in their particular category, e.g. Model, Networking, Extensions, etc.

Testing

The project has a few unit and integration tests implemented. The tests are written using the standart XCTest framework and are mainly focused on JSON parsing. You can run the tests by simply pressing CMD+U in Xcode.

Contact

About

Test project for AirBank - A simple MVVM-C / RxSwift app that shows filtered list of transactions and its details

License:MIT License


Languages

Language:Swift 100.0%