- Studying project with +80% test coverage.
- iOS 14.0+
- Xcode 12+
- Swift 5.4+
- Cocoapods 1.9.1+
This project uses Cocoapods and Swift Package Manager - which manages NetworkHelper, a networking framework that I'm currenctly working on. The pods are not included in the project so you need open this folder in Terminal and run the following command:
pod install
When possible, AwesomeBeers follows MVVM-C architecture. View controllers send events to the coordinator by using the delegate pattern and networking session stored in a interface using Facade pattern.
The whole project is structured in modules where each module represents one screen in the app. Each module consists of one *ViewController
, *ViewModel
, and a *view
file.
All the other files are structured in their particular category, e.g. Model
, Networking
, Extensions
, etc.
The project has a few unit and UI 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.