Skip to content

Commit

Permalink
Update ReadMe
Browse files Browse the repository at this point in the history
  • Loading branch information
t0rst committed Jul 26, 2018
1 parent 47c917a commit dc30ae7
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 40 deletions.
66 changes: 26 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,24 @@
Hello-OBP-OAuth1.0a-iOS
========================

This is a basic iOS app that talks to Open Bank Project's API sandbox, demonstrates authorization and retrieves banks, accounts and transactions. (If you just need a simple OBP starter app to copy and modify, try [OBP-iOS-Starter](https://github.com/OpenBankProject/OBP-iOS-Starter).)
This demonstration app...

The app will proceed through OAuth1 authentication, and then make signed API requests that retrieve the list of [private accounts](https://github.com/OpenBankProject/OBP-API/wiki/REST-API-V1.2#accounts-private) on the sandbox API and show their details in the UI (see below for example accounts to log in).
* talks to Open Bank Project's API sandbox
* handles authorization
* retrieves banks, accounts and transactions
* allows you to make simple transfers between accounts.

You can then use this demonstration as an example of how to use the Open Bank Project (OBP) API to create apps that allow user to access to their bank data, and create Banking, Accounting, ERM, or other financial applications utilizing this OBP JSON API. You can find the latest API specifications on the [OBP API Wiki](https://github.com/OpenBankProject/OBP-API/wiki).
**Note 1:** if you are attending a Hackathon and reading this, you can easily modify this app to talk to the OBP server at the hackathon by following the instructions in the `DefaultServerDetails.h` header file; then you can build and use it to look at the data available at the hackathon.

The OBI API does not require OAuth, but this project uses it. However, all the heavy lifting is done for you by [OBPKit](https://github.com/OpenBankProject/OBPKit-iOSX).
**Note 2:** to start your own app, the [OBP-iOS-Starter](https://github.com/OpenBankProject/OBP-iOS-Starter), written in Swift, is ready for you to copy and extend. It contains the necessary calls to handle authorisation, and a minimal sample query of the API (get banks).

## Login credentials

You will need to login to the OBP Sandbox API when running the app (which talks to the server apisandbox.openbankproject.com), just download install and click login. Then you can use following test login credentials:
Both this and the starter app use [OBPKit](https://github.com/OpenBankProject/OBPKit-iOSX), which does the authorisation heavy lifting for you and offers easy calls for interacting with the API. Get to know the entire API using the [API Explorer][], and discover more about the sandbox at the [Sandbox Overview][].

username: [email protected]
password: qwerty
(contains various bank accounts including blank accounts, and accounts with errors)

username: [email protected]
password: qwerty
(contains two bank accounts)
## Login credentials

username: [email protected]
password: qwerty
(contains one bank account)
The sandbox overview page has sample login credentials at [Customer Logins][] which allow you to view a variety of test data — try, for example, [email protected] (password: 8132cf) or [email protected] (password: 2efb1f).

You can also setup your own instance of the API and point this app to your instance in this demo, instructions to do this below.
Also follow the [Create Bank Account][] link on the sandbox home page, create a few test accounts with your own OBP credentials, and then launch the app, login and experiment with transfers.

## Installation

Expand Down Expand Up @@ -55,9 +48,9 @@ $ carthage update --no-build --no-use-binaries
*** Fetching STHTTPRequest
*** Fetching OAuthCore
*** Checking out OAuthCore at "0.0.2"
*** Checking out STHTTPRequest at "1.1.1"
*** Checking out UICKeyChainStore at "v2.1.0"
*** Checking out OBPKit-iOSX at "1.0.0"
*** Checking out STHTTPRequest at "1.1.4"
*** Checking out UICKeyChainStore at "v2.1.1"
*** Checking out OBPKit-iOSX at "1.1.3"
$ open HelloOBP-iOS-Cart.xcworkspace -a Xcode.app
```

Expand All @@ -83,35 +76,23 @@ Pod installation complete! There are 2 dependencies from the Podfile and 4 total
$ open HelloOBP-iOS-Pods.xcworkspace -a Xcode.app
```

...then one extra, not-yet-automated step that is needed with the latest CocoaPods (`pod --version` >= 1.0.0): in the navigator pane, click on the blue HelloOBP-iOS project icon, select HelloOBP-iOS under TARGETS, select Build Phases, clieck the 'x' to the right of the "Embed Frameworks (4 items)" build phase, as CocoaPods has installed it own "[CP] Embed Pods Frameworks" build phase further down (commiting this change now will allow you to easily revert it should you wish to try out using carthage later), and then...
...then one extra, not-yet-automated step that is needed with the latest CocoaPods (`pod --version` >= 1.0.0): in the navigator pane, click on the blue HelloOBP-iOS project icon, select HelloOBP-iOS under TARGETS, select Build Phases, click the 'x' to the right of the "Embed Frameworks (4 items)" build phase, as CocoaPods has installed it own "[CP] Embed Pods Frameworks" build phase further down (committing this change now will allow you to easily revert it should you wish to try out using carthage later), and then...

...build and run.

You can ignore the two pod warnings starting "CocoaPods did not set the base configuration of your project because...etc", because HelloOBP-iOS.xcodeproj configures for carthage or cocoapods whenever you build: a script sets the build configuration files Debug(dynamic).xcconfig and Release(dynamic).xcconfig to be copies of Debug(carthage).xcconfig and Release(carthage).xcconfig or Debug(cocoapods).xcconfig and Release(cocoapods).xcconfig, as appropriate. This sometimes goes under Xcode's radar, and you get a warning, but this clears after you clean, close and reopen the project.

## Screenshots

Login page

<img src="https://raw.githubusercontent.com/OpenBankProject/Hello-OBP-OAuth1.0a-IOS/master/images/hello-obp-login.png" />
## Support

Accounts page
Questions? Contact `@tesobe_t0rst` on the [Open Bank Project's Slack Team](https://openbankproject.slack.com).

<img src="https://raw.githubusercontent.com/OpenBankProject/Hello-OBP-OAuth1.0a-IOS/master/images/hello-obp-accounts.png" />

Transactions page

<img src="https://raw.githubusercontent.com/OpenBankProject/Hello-OBP-OAuth1.0a-IOS/master/images/hello-obp-transactions.png" />

## Setup of API on own server

If you want to work with your own credentials, there are a couple of things you need to do to get this project set up.
## Screenshots

1. Get a client key and secret by registering your client at https://apisandbox.openbankproject.com/consumer-registration
![HelloOBP Home](images/hello-obp-home.png) ![HelloOBP Login](images/hello-obp-login.png)

2. Put your credentials into DefaultServerDetails.h
![HelloOBP Accounts](images/hello-obp-accounts.png) ![HelloOBP Transactions](images/hello-obp-transactions.png)

Current list of supported banks: [https://api.openbankproject.com/connectors-status/](https://api.openbankproject.com/connectors-status/)
![HelloOBP TransactionsJSON](images/hello-obp-transactions-json.png) ![HelloOBP Transfer](images/hello-obp-transfer.png)

## LICENSE

Expand All @@ -121,3 +102,8 @@ This demo app is licensed under the [Apache License, Version 2.0](http://www.apa
[Carthage-install]: https://github.com/Carthage/Carthage/blob/master/README.md#installing-carthage
[CocoaPods]: https://github.com/CocoaPods/CocoaPods/blob/master/README.md
[CocoaPods-install]: http://guides.cocoapods.org/using/getting-started.html#installation
[API Explorer]: https://apiexplorersandbox.openbankproject.com
[Sandbox Overview]: https://github.com/OpenBankProject/OBP-API/wiki/Sandbox
[Customer Logins]: https://github.com/OpenBankProject/OBP-API/wiki/Sandbox#customer-logins
[Create Bank Account]: https://apisandbox.openbankproject.com/create-sandbox-account

Binary file modified images/hello-obp-accounts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/hello-obp-home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/hello-obp-login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/hello-obp-transactions-json.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/hello-obp-transactions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/hello-obp-transfer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit dc30ae7

Please sign in to comment.