Skip to content

Latest commit

 

History

History
81 lines (50 loc) · 3.54 KB

README.md

File metadata and controls

81 lines (50 loc) · 3.54 KB

Header

Pokémon Weakness for iOS

Platform iOS

Swift 2 compatible [![codebeat badge](https://codebeat.co/badges/8d16a43c-e84f-49e7-967e-170f013c4ca9)](https://codebeat.co/projects/github-com-pokeweak-pokemon-weakness-ios) [![License](https://img.shields.io/badge/license-Beerware-red.svg?style=flat)](https://fedoraproject.org/wiki/Licensing/Beerware)

This README provides basic information for some of the most commong tasks you'll have to perform during the development of the app.

Requirements

  • iOS 9.0+
  • Xcode 7.0+

Downloading and installing the project

You'll need a few things before getting started. Make sure you have the latests Xcode installed from the AppStore or Developer Site. Then you can clone the project with the following command:

git clone https://github.com/pokeweak/pokemon-weakness-ios.git

After cloning the project you'll need to install Bundler to manage all the Ruby dependencies on the project for building the project

sudo gem install bundler

After this just execute the following command to install all needed gems

sudo bundle install

Getting started

Now that you've downloaded the project you'll need to run the app, we can run the app using Xcode 7. Make sure to open the Pokemon Weakness.xcworkspace workspace, and not the Pokemon Weakness.xcodeproj project. Currently, the project is compatible with Xcode 7 only, as it's Swift 2.

CocoaPods

CocoaPods is a dependency manager for Objective-C & Swift, which automates and simplifies the process of using 3rd-party libraries in your projects. To learn more about this amazing tool you can check the their docs.

Architecture 🎯

Header

The app is build on top of my understanding of MVP pattern and trying to model the app so it can follow SOLID principles

Connect

All this layers are connected using Promisekit for the asynchronous part and we are married to PromiseKit ¯(ツ)/¯

Dependency injection 💉

Dependency injection has been achieved by using Service Locator pattern with an Assembly that's the one in charge of keeping all the references, I took this approach by using swift extensions of this Assembly so it's easier to link dependencies.

Libraries used in this project

Contact

Twitter

License 🍺

Source is realeased under Beerware license:

As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.