Git Product home page Git Product logo

marvels's Introduction

Marvels

Project example displaying data from Marvel API

Architecture

Clean Swift

Usage of Clean Swift (Clean Swift) as main architecture for this project. Written in Swift 4.2.

The project is structured as:

-Infrastructure

-Interface

where,

Infrastructure : Contains all the core of the project.

  • Managers
  • AppConfig
  • Models
  • Network + API
  • Tools

Interface : Contains the presentation busniess of the project.

  • Scenes
  • Components

Deployment Target

  • iOS 12.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
  • 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.

CryptoSwift is a supported framework with Copyright license used to manage the encrypting process for requests.

  • Crypto related functions and helpers for Swift implemented in Swift
  • Asynchronous image downloading and caching.
  • URLSession-based networking. Basic image processors and filters supplied.
  • Multiple-layer cache for both memory and disk.

Kingfisher is a supported framework with MIT license used to mange the image caching and presenting.

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

Testing

  • Unit testing for scenes interactors and presenters
  • Unit testing for workers

TODO:

  • Add UITests

Authors & Contributors

Aitor Pagan - Initial work

Contributors who participated.

License

This project is licensed under the MIT License

marvels's People

Contributors

polenoso avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.