ExBanking :bank:
ExBanking is a minimal public facing interface of a banking application written in Typescript
Installation
This package requires Node.js v12+
.
To install, run npm install ex-banking
Usage
Initializing with Typescript
import ExBanking from 'ex-banking'
const exBanking = new ExBanking();
Initializing with Javascript
var ExBanking = require('ex-banking').default;
const exBanking = new ExBanking();
Creating users
New users can be created by calling the createUser
function. This will also create an empty wallet for the user.
const response = exBanking.createUser('peeter')
Deposits
Money deposits can be made into a user's wallet for a given currency.
- If the currency does not exist, a new currency is created.
- If the user has no wallet in such currency, a new wallet in that currency is created for the user.
const response = exBanking.deposit('peeter', 200, 'EUR');
Withdrawals
Withdrawals can be made on a user's wallet.
- The user must have a wallet in that currency
- The wallet balance must be at least the amount specified for withdrawal
const response = exBanking.withdraw('peeter', 200, 'EUR');
Wallet balance
- The user must have a wallet in that currency
const response = exBanking.getBalance('peeter', 'EUR');
Transfers
A user can send money from their wallet to another user.
- Both the sender and receiver must exist
- The sender must have sufficient balance in the specified currency
- If the receiver has no wallet in the specified currency, a new wallet will be created for the user in that currency.
const response = exBanking.send('peeter', 'olga', 400, 'EUR');
Application error
A typical error would be returned in the following format;
{
success: false,
code: ***,
message: 'An error occurred',
}
Build
npm run build
Test
npm run test