Skip to content

Repository files navigation

BNMO (Backend Side)

BNMO is a Web Application which has bank integration features such as transfer and request money. Not only customer, BNMO is also used by Bank's Admin in order to monitor all transaction by customer.

Build By

  • Primanda Adyatma Hafiz (13520022)

How To Run

CLI

  1. Clone this repository
  2. Install npm
  3. Run npm install command inside repository folder
  4. Server is started on http://localhost:8081/

Run on Docker

  1. Clone this repository
  2. Run docker-compose build command inside repository folder
  3. Server is started on docker image

Deployed server

You can request the api on https://api-bnmo.herokuapp.com/

Design Pattern

  1. Design Pattern Composite
    Composite pattern is used when an object is consisted of some simpler object and that simpler object is consisted of way simpler object and so on. In this case, I use this pattern to represent Customer object because it consists of multiple transactions that it already did
  2. Design Pattern Builder
    Builder pattern is used when building complex object using simpler object and using step by step approach. In this case, I use this pattern when building Customer objects by adding request and transfer transactions to them.

Technologies Used

  • google-cloud storage (v6.2.3)
  • bcrypt (v5.0.1)
  • express (v4.18.1)
  • express-session (v1.17.3)
  • node-schedule (v2.1.0)
  • nodemon (v2.0.19)
  • pg (v8.7.3)
  • sequelize (v6.2.13)

How To Use

You can run the server on local with CLI or access deployed server on https://api-bnmo.herokuapp.com/. Firstly, to make request on the api you can register your account and then login.

Endpoint

Endpoint Description
/api/register (POST) Registration Customer Endpoint
/api/login (POST) Login Endpoint
/api/logout (POST) Logout Endpoint
/api/currency (GET) Currencies Available
/api/request (POST) Request Transaction Endpoint
/api/transfer (POST) Transfer Transaction Endpoint
/api/history (GET) History Transaction of Customer Endpoint
/api/admin/verify-registration (GET) Unverified Customer Registration List
/api/admin/verify-registration/accept/:username (PUT) Accept Registration Endpoint
/api/admin/verify-registration/decline/:username (PUT) Decline Registration Endpoint
/api/admin/verify-request (GET) Unverified Customer Request List
/api/admin/verify-request/accept/:idrequest (PUT) Accept Request Endpoint
/api/admin/verify-request/decline/:idrequest (PUT) Decline Request Endpoint
/api/profile (GET) Customer's Profile Endpoint
/api/search (GET) Admin's Search Customer Endpoint
/api/profile/:username (GET) Detail Admin's Search Customer Endpoint
/api/isAdmin (GET) Check If Current User Is Admin
/api/isCustomer (GET) Check If Current User Is Customer

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages