Skip to content

mifeille/banka

Repository files navigation

banka

Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals. This app is meant to support a single bank, where users can signup and create bank accounts online, but must visit the branch to withdraw or deposit money.

Build Status Coverage Status Maintainability

Features

  • A user (client) can sign up
  • A user (client) can login
  • A user (client) can create an account
  • A user (client) can view account transaction history
  • A user (client) can view a specific account transaction
  • A staff (cashier) can debit user (client) account
  • A staff (cashier) can credit user (client) account
  • An admin/staff can view all user accounts
  • An admin/staff can view a specific user account
  • An admin/staff can activate or deactivate an account
  • An admin/staff can delete a specific user account
  • An admin can create staff and admin user accounts

Requirements

Tools:

  • Node.js 10.15.3
  • NPM 6.4.1

Setting up dependencies

Clone the repository into your machine
git clone https://github.com/mifeille/banka.git

Install dependencies
npm install

Start the server
npm start

Run Tests
npm test

API Endpoints

Version 1 Endpoints

Verb Endpoint Description
POST /api/v1/auth/signup Create a client
POST /api/v1/auth/signin Sign in a client
POST /api/v1/accounts Create a Bank account
PATCH /api/v1/accounts/account-number Activate or deactivate a Bank account
DELETE /api/v1/accounts/account-number Delete a specific Bank account
POST /api/v1/transactions/account-number/debit Debit a Bank account
POST /api/v1/transactions/account-number/credit Credit a Bank account

Version 2 Endpoints

Verb Endpoint Description
POST /api/v2/auth/signup Create a client
POST /api/v2/auth/signin Sign in a client
POST /api/v2/accounts Create a Bank account
PATCH /api/v2/accounts/account-number Activate or deactivate a Bank account
DELETE /api/v2/accounts/account-number Delete a specific Bank account
POST /api/v2/transactions/account-number/debit Debit a Bank account
POST /api/v2/transactions/account-number/credit Credit a Bank account
GET /api/v2/accounts/account-number/transactions View an account’s transaction history
GET /api/v2/transactions/transaction-id View a specific transaction
GET /api/v2/user/user-email-address/accounts View all accounts owned by a specific user (client)
GET /api/v2/accounts/account-number View a specific account’s details
GET /api/v2/accounts View a list of all bank accounts
GET /api/v2/accounts?status=active View a list of all active bank accounts
GET /api/v2/accounts?status=dormant View a list of all dormant bank accounts
GET /api/v2/accounts?status=draft View a list of all draft bank accounts
GET /api/v2/notifications View notifications about transactions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published