Skip to content

Commit 769c82a

Browse files
author
pbozin
authored
Merge pull request #149 from pbozin/develop
Switch to using unique username instead of email
2 parents 6af2049 + 59710a5 commit 769c82a

File tree

225 files changed

+43423
-2498
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

225 files changed

+43423
-2498
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
target
1313
src/main/resources/
1414
src/test/resources/
15-
*.iml
15+
*.iml

CONTRIBUTING.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Contributing
2+
3+
4+
## Hello!
5+
6+
Thank you for your interest in contributing to the Open Bank Project!
7+
8+
## Pull requests
9+
10+
If submitting a pull request please read and sign our [CLA](http://github.com/OpenBankProject/OBP-API/blob/develop/Harmony_Individual_Contributor_Assignment_Agreement.txt) and send it to contact@tesobe.com - We'll send you back a code to include in the comment section of subsequent pull requests.
11+
12+
Please reference Issue Numbers in your commits.
13+
14+
## Code comments
15+
16+
Please comment your code ! :-) Imagine an engineer is trying to fix a production issue: she is working on a tiny screen, via a dodgy mobile Internet connection, in a sandstorm - Your code is fresh in your mind. Your comments could help her!
17+
18+
## Issues
19+
20+
If would like to report an issue or suggest any kind of improvement please use Github Issues.
21+
22+
## Licenses
23+
24+
Open Bank Project API, API Explorer and Sofi are dual licenced under the AGPL and commercial licenses. Open Bank Project SDKs are licenced under Apache 2 or MIT style licences.
25+
26+
Please see the NOTICE for each project licence.
27+
28+
## Setup and Tests
29+
30+
See the README for instructions on setup and running the tests :-)
31+
32+
Welcome!

Harmony_Individual_Contributor_Assignment_Agreement.txt

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,23 +82,32 @@ TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL YOU OR US BE
8282

8383

8484

85-
You
8685
________________________
87-
Name: ________________________
88-
Address: ________________________
89-
________________________
9086

91-
Us
87+
You:
88+
89+
90+
Name: ________________________________
91+
92+
Address: ________________________________
93+
94+
Github username ________________________________
95+
96+
Email / Phone ________________________________
97+
98+
9299
________________________
93-
Name: Simon Redfern
94-
Title: CEO TESOBE / Music Pictures Ltd
95-
Address: Osloerstrasse 16/17
96-
Berlin 13359, German
97100

101+
Us:
98102

103+
Name: Simon Redfern
104+
Title: CEO, TESOBE Ltd
105+
Address: Osloerstrasse 16/17, Berlin 13359, Germany
99106

100107

101108

109+
________________________
110+
102111

103112
[SUBMISSION_INSTRUCTIONS] – In person.
104113

@@ -125,4 +134,4 @@ Address: Osloerstrasse 16/17
125134

126135

127136

128-
This work is licensed under a Creative Commons Attribution 3.0 Unported License.
137+
This work is licensed under a Creative Commons Attribution 3.0 Unported License.

NOTICE

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Open Bank Project - Transparency / Social Finance Web Application
2-
Copyright (C) 2011, 2012, TESOBE / Music Pictures Ltd
1+
Open Bank Project API
2+
Copyright (C) 2011-2016, TESOBE Ltd
33

44
This program is free software: you can redistribute it and/or modify
55
it under the terms of the GNU Affero General Public License as published by
@@ -15,14 +15,14 @@ You should have received a copy of the GNU Affero General Public License
1515
along with this program. If not, see <http://www.gnu.org/licenses/>.
1616

1717
Email: contact@tesobe.com
18-
TESOBE / Music Pictures Ltd
18+
TESOBE Ltd
1919
Osloerstrasse 16/17
2020
Berlin 13359, Germany
2121

2222
This product includes software developed at
2323
TESOBE (http://www.tesobe.com/)
2424
by
25-
Simon Redfern : simon AT tesobe DOT com
26-
Stefan Bethge : stefan AT tesobe DOT com
27-
Everett Sochowski : everett AT tesobe DOT com
28-
Ayoub Benali: ayoub AT tesobe DOT com
25+
Simon Redfern
26+
Stefan Bethge
27+
Everett Sochowski
28+
Ayoub Benali

README.md

Lines changed: 106 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,131 @@ Our tag line is: Bank as a Platform. Transparency as an Asset.
1414

1515
The API uses OAuth 1.0 authentication.
1616

17-
The project roadmap is available [here.](https://trello.com/b/O9IjhPXB/open-bank-project-api)
17+
The project roadmap is available [here.](https://openbankproject.com/roadmap/)
1818

1919
## DOCUMENTATION
2020

2121
Please refer to the [wiki](https://github.com/OpenBankProject/OBP-API/wiki) to see the API specification.
2222

2323
## STATUS
2424

25-
[V1.2] (https://github.com/OpenBankProject/OBP-API/wiki/REST-API-V1.2) is mostly implemented
25+
[V1.2.1] (https://github.com/OpenBankProject/OBP-API/wiki/REST-API-V1.2.1) is the current stable API.
2626

2727
## LICENSE
2828

29-
This project is dual licensed under the AGPL V3 (see NOTICE) and a commercial license from TESOBE
30-
Some files (OAuth related) are licensed under the Apache 2 license.
29+
This project is dual licensed under the AGPL V3 (see NOTICE) and commercial licenses from TESOBE Ltd.
3130

3231
## SETUP
3332

3433
The project uses Maven 3 as its build tool.
3534

3635
To compile and run jetty, install Maven 3 and execute:
3736

38-
mvn jetty:run
37+
./mvn.sh jetty:run
38+
39+
## To run with IntelliJ IDEA
40+
41+
* Make sure you have the IntelliJ Scala plugin installed.
42+
43+
* Create a new folder e.g. OpenBankProject and cd there
44+
45+
* git clone https://github.com/OpenBankProject/OBP-API.git
46+
47+
* In IntelliJ IDEA do File -> New -> Project from existing sources
48+
49+
* (Alternatively you can do File -> New -> Project from VCS and checkout from github)
50+
51+
* When / if prompted, choose Java 1.8 and Scala 2.11 otherwise keep the defaults. Use the Maven options. Do not change the project name etc.
52+
53+
* Navigate to test/scala/code/RunWebApp. You may see a Setup Scala SDK link. Click this and check Scala 2.11.8 or so.
54+
55+
* In src/main/resources/props create a test.default.props for tests. Set connector=mapped
56+
57+
* In src/main/resources/props create a <yourloginname>.default.props for development. Set connector=mapped
58+
59+
* Now **Rebuild** the project so everything is compiled.
60+
61+
* Run RunWebApp by right clicking on it or selecting Run. The built in jetty server should start on localhost:8080
62+
63+
* Browse to localhost:8080 but don't try anything else there yet.
64+
65+
### Run some tests.
66+
67+
* Run a single test. For instance right click on test/scala/code/branches/MappedBranchProviderTest and select Run Mapp...
68+
69+
* Run multiple tests: Right click on test/scala/code and select Run. If need be:
70+
Goto Run / Debug configurations
71+
Test Kind: Select All in Package
72+
Package: Select code
73+
Add the absolute /path-to-your-OBP-API in the "working directory" field
74+
You might need to assign more memory via VM Options: e.g. -Xmx1512M -XX:MaxPermSize=512M
75+
76+
Make sure your test.default.props has the minimum settings (see test.default.props.template)
77+
78+
79+
Right click test/scala/code and select the Scala Tests in code to run them all.
80+
81+
Note: You may want to disable some tests not relevant to your setup e.g.:
82+
set bank_account_creation_listener=false in test.default.props
83+
84+
85+
## Other ways to run tests
86+
87+
* See pom.xml for test configuration
88+
* See http://www.scalatest.org/user_guide
89+
90+
91+
## From the command line
92+
93+
Set memory options
94+
export MAVEN_OPTS="-Xmx3000m -XX:MaxPermSize=512m"
95+
96+
Run one test
97+
mvn -DwildcardSuites=code.api.directloginTest test
98+
3999

40100
----
41101

42-
# Databases:
102+
## Ubuntu
103+
104+
If you use Ubuntu (or a derivate) and encrypted home directories (e.g. you have ~/.Private), you might run into the following error when the project is built:
105+
106+
uncaught exception during compilation: java.io.IOException
107+
[ERROR] File name too long
108+
[ERROR] two errors found
109+
[DEBUG] Compilation failed (CompilerInterface)
110+
111+
The current workaround is to move the project directory onto a different partition, e.g. under /opt/ .
112+
113+
114+
## Databases:
115+
116+
The default database for testing etc is H2. PostgreSQL is used for the sandboxes (user accounts, metadata, transaction cache).
117+
118+
## Sandbox data
119+
120+
To populate the OBP database with sandbox data:
121+
122+
1) In your Props file, set allow_sandbox_data_import=true
123+
2) In your Props files, set sandbox_data_import_secret=YOUR-KEY-HERE
124+
3) Now you can POST the sandbox json found in src/main/scala/code/api/sandbox/example_data/example_import.json to /sandbox/v1.0/data-import?secret_token=YOUR-KEY-HERE
125+
4) If successful you should get 201 Created.
126+
127+
128+
## Kafka (optional):
129+
130+
If Kafka connector is selected in props (connector=kafka), Kafka and Zookeeper have to be installed, as well as OBP-Kafka-Python (which can be either running from command-propmpt or from inside Docker container):
131+
132+
* Kafka and Zookeeper can be installed using system's default installer or by unpacking the archives (http://apache.mirrors.spacedump.net/kafka/ and http://apache.mirrors.spacedump.net/zookeeper/)
133+
134+
* OBP-Kafka-Python can be downloaded from https://github.com/OpenBankProject/OBP-Kafka-Python
135+
136+
137+
## Scala / Lift
138+
139+
* We use scala and liftweb http://www.liftweb.net/
140+
141+
* Advanced architecture: http://exploring.liftweb.net/master/index-9.html
43142

44-
The default datastores used are MongoDB (metadata, transaction cache) and Postgres (user accounts).
143+
* A good book on Lift: "Lift in Action" by Timothy Perrett published by Manning.
45144

mvn.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
3+
# Deprecated option -XX:MaxPermSize=256m is kept
4+
# just in case someone still uses java 1.7
5+
export MAVEN_OPTS="-Xmx1024m -Xms1024m -Xss1024k -XX:MaxPermSize=256m"
6+
7+
mvn $1 $2 $3 $4

0 commit comments

Comments
 (0)