This project helps to learn shipping React app using Test-driven Development.
- IBAN — International Bank Account Number
Enable the user to explore IBAN details or provide feedback when the IBAN is invalid.
1. Create a page with the form:
- IBAN input field
- Validate button
2. Send IBAN to the API
When the user submits the form
3. Display valid IBAN details
- Validation states (based on flags
from API response)
- - "Valid IBAN" when the response is successful
- - "Trusted bank" when bank.trustScore
is over 7
- - "Accepts instant payments" when flags
include INSTANT
- - "Positive operation history" when flags
include POSITIVE_HISTORY
- - "No security claims" when flags
miss SECURITY_CLAIMS
- - "Complies with Payment Services Directive (PSD2)" when flags
include PSD2
4. Display invalid state when IBAN is invalid
- - When API throws — the IBAN is invalid
- - When a response is successful, the given IBAN is valid.
The validation is created via GET /validate endpoint.
Expected request:
Attribute | Type |
---|---|
iban | string |
Response:
Attribute | Type |
---|---|
iban | string |
flags | enum[] INSTANT | POSITIVE_HISTORY | SECURITY_CLAIMS | PSD2 |
bank?.trustScore? | number(0-10) |
- AT0309000000000019176655
- RO23INGB0001000000000222
- CZ3608000000002996530173
Enable the user to see which currency the IBAN supports.
1. Display the currency underneath formatted IBAN
Employ @partner/super-countries
JavaScript SDK (from our partner) to retrieve the currency.
Usage:
import { findCountryByIso2Code } from '@partner/super-countries';
const { currency } = await findCountryByIso2Code('AT');
Result:
{
"code": "EUR",
"name": "Euro",
"symbol": "€"
}
ℹ Consume country code (e.g., AT) from the bank.address.country
attribute in the validation API response.
The validation is created via POST /validate endpoint.
Expected request:
Attribute | Type |
---|---|
iban | string |
Response:
Attribute | Type |
---|---|
iban | string |
flags | enum[] INSTANT | POSITIVE_HISTORY | SECURITY_CLAIMS | PSD2 |
bank?.trustScore? | number(0-10) |
bank?.name? | string |
bank?.address?.street? | string |
bank?.address?.city? | string |
bank?.address?.zip? | string |
bank?.address?.country? | ISO2(string) |
- AT0309000000000019176655
- GB29NWBK60161331926819
- SA3245000000001123456001
Enable the user to see the bank IBAN belongs to.
1. Display bank details
- Join bank.name
and bank.address
using ,
(comma) separator
- Join bank address parts using ,
(comma)
- Join city
and zip
using
(space)
(Consider the bank.name
and all address
details are optional API response attributes)
Example:
Erste Bank, Am Belvedere 1, 1100 Vienna, AT
^name ^street ^zip ^city ^country
The validation is created via GET /validate endpoint.
Expected request:
Attribute | Type |
---|---|
iban | string |
Response:
Attribute | Type |
---|---|
iban | string |
flags | enum[] INSTANT | POSITIVE_HISTORY | SECURITY_CLAIMS | PSD2 |
bank?.trustScore? | number(0-10) |
bank?.name? | string |
bank?.address?.street? | string |
bank?.address?.city? | string |
bank?.address?.zip? | string |
bank?.address?.country? | ISO2(string) |
- HU14116000060000000084586199
- HR8523300033203674306
Provide the user with feedback when the IBAN is missing or invalid.
1. Display validation message when IBAN is missing
2. Display invalid state when IBAN is invalid
- When API throws an error
The validation is created via GET /validate endpoint.
Expected request:
Attribute | Type |
---|---|
iban | string |
- When a response is successful, the given IBAN is valid.
- When API throws — the IBAN is invalid
- LV64HABA0551018676991
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.