/banka

Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals.

Primary LanguageHTML

banka

Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals.

Coverage Status Maintainability Test Coverage Build Status

UI template: (https://olayinkaraheem.github.io/banka/)

API Link (https://app-banka.herokuapp.com)

Pivotal Tracker Link (https://www.pivotaltracker.com/n/projects/2320535)

Built With

Installation

  1. Download and install Node.js

  2. Clone project

    > git clone https://github.com/olayinkaraheem/banka.git
  1. Install Dependencies
    > npm install
  1. Run project
    > npm start

Features

  • Client/User can sign up.
  • Client/User can login.
  • Client/User can create a bank account.
  • Cashier/Staff can debit a user's bank account.
  • Cashier/Staff can credit user (client) account.
  • Admin/Staff can activate or deactivate an account.
  • Admin/Staff can delete an account.

Tools

API Routes

Description HTTP Method Endpoints
Sign up User POST /api/v1/auth/signup
Log in User POST /api/v1/auth/signin
Create a bank account POST /api/v1/accounts
Activate a bank account PATCH /api/v1/accounts/account-number
Deactivate a bank account PATCH /api/v1/accounts/{account-number}
Delete a bank account DELETE /api/v1/accounts/{account-number}
Credit a bank account POST /api/v1/transactions/account-number/credit
Debit a bank account POST /api/v1/transactions/account-number/debit

Sample Payloads

User Signup

{
  "email": "user2@mail.com",
  "firstName": "Smith",
  "lastName": "Rex",
  "password": "userpass@421",
  "type": "client",
  "isAdmin": false,
  "created_at": "2019-04-07 07:00:43",
  "updated_at": ""
}

User Signin

{
  "email": "admin@banka.com",
  "password": "adminpass@421"
}

Create Account

{
  "owner": 3,
  "type": "current"
}

Deactivate Account

{
  "userId": 1,
  "status": "dormant"
}

Activate Account

{
  "userId": 1,
  "status": "active"
}

Delete Account

{
  "userId": 1,
  "status": "deleted"
}

Debit Transaction

{
  "amount": "3000.00",
  "cashier": 2,
  "type": "debit"
}

Credit Transaction

{
  "amount": "5000.00",
  "cashier": 2,
  "type": "credit"
}

Sample Params

Account number: 1233445642

License

© Olayinka Raheem