Skip to content

Polenoso/who-is-this-gnome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Know the Gnome

Mock project displaying a list of gnomes

Architecture

MVP

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

Deployment Target

  • iOS 10.0+

Frameworks

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 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.

Installation

Carthage

To run the project Carthage is needed.

How to install carthage

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.

A Quick View

Authors & Contributors

Aitor Pagan - Initial work

Contributors who participated.

License

This project is licensed under the MIT License

Releases

No releases published

Packages

No packages published

Languages