Mock project displaying a list of gnomes
Usage of MVP (Model-View-Presenter) as main architecture for this project.
Written in Swift
.
The project is structured as:
-Infrastructure
-Interface
where,
Infrastructure
: Contains all the core of the project.
- Managers
- AppConfig
- Models
Interface
: Contains the presentation busniess of the project.
- Scenes
- Services
- iOS 10.0+
- Alamofire - The network library.
Alamofire is a supported framework with MIT license used to manage network requests easier. It gives features like:
- Chainable Request / Response Methods
- URL / JSON / plist Parameter Encoding
- [x ]Upload File / Data / Stream / MultipartFormData
- Network Reachability
It also helps to do asynchronous tasks on network requests, leaving the main queue free for UI threads.
- KingFisher - The image library
Kingfisher is a supported framework with MIT license used to mange the image caching and presenting.
- Asynchronous image downloading and caching.
-
URLSession
-based networking. Basic image processors and filters supplied. - Multiple-layer cache for both memory and disk.
To run the project Carthage is needed.
After installing carthage, open a new terminal session, navigate to project folder under knowTheKnome directory.
run carthage bootstrap --platform iOS
- Carthage is a dependency manager for external frameworks. The advantages of using Carthage instead of CocoaPods or embedded frameworks is that with Carthage you can just use a reference to your frameworks and avoid to have large files in the repository. It is completely compatible and supported.
Aitor Pagan - Initial work
Contributors who participated.
This project is licensed under the MIT License