diff --git a/README.md b/README.md index 4db4f1d5..40ff34ab 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,48 @@ -# Karhoo-iOS-SDK +*** + +
+ + Karhoo logo + +
+ +

Karhoo iOS Network SDK

![](https://github.com/karhoo/Karhoo-iOS-SDK/workflows/Develop%20Branch%20CI/badge.svg) KarhooSDK is a framework for integrating with the KarhooAPI: https://developer.karhoo.com -To setup the project, simply clone, pod install and run the unit tests to verify everything works. + +[**Read The Docs**](https://developer.karhoo.com/docs/build-apps-using-sdks) + + +## Installation + +#### CocoaPods +You can use [CocoaPods](http://cocoapods.org/) to install `KarhooSDK` by adding it to your `Podfile`: + +```ruby + +use_frameworks! +pod 'KarhooSDK' +``` + +then import `KarhooSDK` wherever you want to access Karhoo services + +``` swift +import KarhooSDK +``` + +#### Carthage +Create a `Cartfile` that lists the framework and run `carthage update`. Follow the [instructions](https://github.com/Carthage/Carthage#if-youre-building-for-ios) to add `$(SRCROOT)/Carthage/Build/iOS/YourLibrary.framework` to an iOS project. + +``` +github "Karhoo/Karhoo-ios-sdk" +``` # SDK Architecture overview: @@ -18,7 +56,7 @@ There is a unit test target that tests individual classes work as expected, and ![](docs/assets/network_sdk.png) -# Setup +# Setup For Development Install Carthage `brew install carthage` @@ -30,3 +68,43 @@ Run Open Xcode If you are running the project for the first time, navigate to BuiildPhases and under Link Binary with Libraries, add the Carthage/Build/iOS/XXX.framework/ + +## Running Tests +There is an Xcode scheme for unit tests and integration tests. Unit tests test the functionality of individual classes using mocked dependencies. The integration tests mock backend responses with JSON contrtacts and ensure the SDK works from input to output. + +## Client example +There is an example project inside the Client directory of this repository. This is meant to be a fast way to test SDK changes and development steps. You will need to add access Keys to the client module as these are ignored due to this being an open source repository. + +```swift +struct Keys { + static let identifier = "" + ... +} +``` + +## Issues + +_Looking to contribute?_ + +### 🐛 Bugs + +Please file an issue for bugs, missing documentation, or unexpected behavior. + +### 💡 Feature Requests + +Please file an issue to suggest new features. Vote on feature requests by adding +a 👍. This helps maintainers prioritize what to work on. + +### ❓ Questions + +For questions related to using the library, please re-visit a documentation first. If there are no answer, please create an issue with a label `help needed`. + +## Useful Links + +[Karhoo Developer Site](https://developer.karhoo.com/) + +[The iOS UI SDK](https://github.com/karhoo/karhoo-ios-ui-sdk) + +## License +[BSD-2-Clause](./LICENSE) +