Skip to content

Commit

Permalink
update readme (#34)
Browse files Browse the repository at this point in the history
* update readme

* Update README.md
  • Loading branch information
airlacodes committed Aug 17, 2020
1 parent 86476cf commit 0dd4a46
Showing 1 changed file with 81 additions and 3 deletions.
84 changes: 81 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,48 @@
# Karhoo-iOS-SDK
***

<div align="center">
<a href="https://karhoo.com">
<img
alt="Karhoo logo"
width="250px"
src="https://cdn.karhoo.com/s/images/logos/karhoo_logo.png"
/>
</a>
</div>

<h1>Karhoo iOS Network SDK</h1>

![](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:

Expand All @@ -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`

Expand All @@ -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)

0 comments on commit 0dd4a46

Please sign in to comment.