• This repository has been archived on 20/Jun/2024
  • Stars
    star
    132
  • Rank 274,205 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Implements a basic REST Web-service for validating IBAN account numbers in GO.

goiban-service

Openiban is going to be revived, stay tuned!


Implements a basic REST Web-service for validating IBAN account numbers in GO. Uses the logic from http://github.com/fourcube/goiban. Deployed at http://openiban.com .

Running the service

Via go get:

$ go get -u github.com/fourcube/goiban-service
# Launch the service listening on port 8080 and serve static content
$ $GOPATH/bin/goiban-service -port 8080 -w 

Download a binary package:

A list of all releases is available here.

# Make sure to choose the correct operating system and architecture
$ curl -Lo goiban-service.tar.gz "https://github.com/fourcube/goiban-service/releases/download/v1.0.2/goiban-service-1.0.2-linux-386.tar.gz"
$ tar -xzf goiban-service.tar.gz
$ cd goiban-service
# Launch the service listening on port 8080, using the bank data from ./data and serving
# the web interface from ./static
$ ./goiban-service -dataPath ./data -staticPath ./static -port 8080 -w

Via Docker

https://hub.docker.com/r/fourcube/openiban/


$ docker run --name openiban -d -p8080:8080 fourcube/openiban
$ curl localhost:8080/validate/DE89370400440532013000

You will see something like:

{
  "valid": true,
  "messages": [],
  "iban": "DE89370400440532013000",
  "bankData": {
    "bankCode": "",
    "name": ""
  },
  "checkResults": {}
}

Via Kubernetes

You can deploy above docker file in your kubernetes cluster by using the configuration files container in ./k8s.

Run the following command to apply the deployment and service (NodePort service running on port 32111)

kubectl apply -f ./k8s

Building the service (MySQL)

You have to install go >= 1.8, setup your GOPATH and install a MySQL server. Goiban requires a database called 'goiban'. The following commands assume a MySQL database running on localhost:3306 with database goiban and user root with password root.

$ go get -u github.com/fourcube/goiban-data-loader
$ cd $GOPATH/src/github.com/fourcube/goiban-data-loader
$ DATABASE_URL="root:root@tcp(localhost:3306)/goiban?charset=utf8" make migrate

# load data
$ go build
$ ./goiban-data-loader bundesbank root:root@/goiban?charset=utf8

$ go get github.com/fourcube/goiban-service
$ cd $GOPATH/src/github.com/fourcube/goiban-service
$ go build
$ ./goiban-service -port 8080 -dbURL root:root@/goiban?charset=utf8

To create a build without the metrics support (e.g if you run on go < 1.8) run:

$ go build -tags no_metrics

MySQL development instance

To quickly run a MySQL database inside a docker container you can use the following command:

docker run -d --name openiban-mysql -p3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=goiban mysql

Client Libraries

Name Language
openiban.js JavaScript/TypeScript
OpenIBAN Python
OpenIban Connector PHP (Plugin for Shopware)

officially supported

The MIT License (MIT)

Copyright (c) 2013-2017 Chris Grieger

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

restcountries

Get information about countries via a RESTful API
Java
2,239
star
2

freegeoip

IP geolocation web server
Go
711
star
3

html2pdf.it

Webservice for generating pdfs from html
JavaScript
547
star
4

geolocationapi

IP Geolocation API is a free service for locating your visitors in real-time with detailed country information.
HTML
503
star
5

ratesapi

Forex conversion exchange rates api for free
Python
181
star
6

numverify-API

Free global phone number validation & lookup JSON API
108
star
7

currencylayer-API

Reliable, accurate, real-time exchange rates for 168 world currencies, delivered in portable JSON format, compatible with any application. Full interactive documentation, code, integration guides and more available at https://currencylayer.com - Sign up for the Free Plan now!
104
star
8

emailpie

Crazy simple API for checking the validity of an email address.
90
star
9

aviationstack

Free, Real-Time Flight Tracker & Status REST API
71
star
10

mailboxlayer-API

mailboxlayer API - free, lightweight JSON API for Email Address Validation & Verification
62
star
11

marketstack

Free Real-Time, Intraday & Historical Stock Market Data API
58
star
12

numvalidate

Phone number validation REST API
JavaScript
57
star
13

weatherstack

Real-Time, Historical World Weather Data & Forecast API
56
star
14

euvatrates.com

Super simple (static) web service to grab VAT rates for all EU Member States, in preparation of the new 2015 VAT regulation.
HTML
53
star
15

locate.now

A simple API for IP address & geolocation lookup.
HTML
46
star
16

ipapi

Real-time Geolocation & Reverse IP Lookup JSON API
44
star
17

positionstack

Free, Real-Time Geocoding & Maps API
31
star
18

screenshotlayer-API

Screenshotlayer is a lighweight REST API built to deliver high quality PNG, JPEG & GIF website screenshots at unparalleled speeds and through a simple interface.
26
star
19

scrapestack

Real-Time Proxy & Web Scraping API
21
star
20

goiban

goiban implements functions for validating international bank account numbers using GO.
Go
20
star
21

vatlayer-API

vatlayer API - free, simple JSON API for VAT Number Validation & EU VAT Rates
20
star
22

mediastack

Free Live News JSON REST API for Global News & Blog Articles
20
star
23

userstack

Leading User-Agent Lookup & Device, Browser and OS Detection API
17
star
24

pdflayer-API

This repository is currently under construction
15
star
25

ip2countrify

A Node.js wrapper for IP2Country JSON API https://ip2country.info
JavaScript
15
star
26

euvat

euvat.ga api site
PHP
14
star
27

serpstack

Real-Time & Accurate Google Search API for Developers
12
star
28

coinlayer-API

12
star
29

languagelayer-API

Free Language Detection API for 173 Languages
12
star
30

openiban.js

openiban.com javascript client for node and the browser
JavaScript
11
star
31

ip2country.info

Source Code from ip2country.info Website and API.
CSS
10
star
32

geoip-tools

Web server that retrieves geolocation information from any IPv4, IPv6 or hostname.
JavaScript
8
star
33

goiban-data-loader

Data importer for openiban.com.
Go
8
star
34

ip2country-bot

🤖 Messenger Bot for IP 2 Country API
JavaScript
7
star
35

regional-news-app

A simple site displaying real-time news updates for any region based on the user's ip location
TypeScript
5
star
36

streetlayer-api-repo

Free, Real-Time Address Verification & Autocomplete JSON API
5
star
37

weather-map

An interactive web app that displays weather information for any region on a global map
TypeScript
5
star
38

language-detection

NodeJS Library for the languagelayer API Service
JavaScript
4
star
39

screenshot-capture

screenshot-capture
JavaScript
3
star
40

giflayer-API

The first and only Video to GIF REST API for Developers
2
star
41

phone-number-validation

Global Phone Number Validation & Lookup JSON API. Real-time REST API supporting 232 countries
JavaScript
2
star
42

email-address-validation

Email Validation & Verification JSON API for Developers. Simple REST API measuring email deliverability & quality
JavaScript
2
star
43

currency-conversion

currency-conversion
JavaScript
1
star
44

servant-currency-code-array

Every ISO 4217 currency code in a javascript array. Used in Servant Content Archetype Validations.
1
star