/Papel

Primary LanguageJavaScriptMIT LicenseMIT

Papel

Build Status Coverage Status Maintainability

Project Description

Papel is a light-weight core banking application that powers banking operations like account creation, customer deposits, 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.

UI Templates

https://kabundege.github.io/Papel/

UI Required features

Technonlogies

  • Node - run time environment for JavaScript
  • Express JS - API development framework
  • Eslint - code analysis tool for identifying problematic patterns found in JavaScript code
  • Babel JS - JavaScript compiler (ES6 to ES5)
  • Mocha and Chai - for testing

You need the following to be able to run the application

Node a runtime environment for JavaScript

Postman to test the Api endpoints

Visual studio code for editing and running the app

PROJECT SETUP

First you need to clone it to your machine:

https://github.com/kabundege/Papel.git

Open it using your favorite IDE I used (vs code)

Install all necessary node modules

npm install

To start the app

npm start

To run tests

npm test

API ENDPOINTS

API Methods Description
/api/v1/auth/signup POST user signup
/api/v1/auth/signup/admin POST Admin/staff signup
/api/v1/auth/login POST user login
/api/v1/account POST create account
/api/v1/account/<accountNo> POST activate or deactivate account
/api/v1/accounts GET display all bank accounts
/api/v1/accounts/<accountNo> GET display a specific account by account Number
/api/v1/user/<email>/accounts GET display a specific account by email
/api/v1/account?<status> GET display a specific account by status active/dormant
/api/v1/account/<accountNo> DELETE admin/staff can delete an account
/api/v1/account/<accountenumber> UPDATE admin/staff canchange account status
/api/v1/transactions/<accountNo>/debit POST staff can debit a bank account
/api/v1/transactions/<accountNo>/credit POST staff can credit a bank account
/api/v1/accounts/<accountNo>/transactions GET display a specific account transaction history
/api/v1/transactions/<transactionId> GET display a specific transaction details

Papel can be Tested using Heroku Through Here

How can it be manually tested

Pivotal Tracker Stories

https://www.pivotaltracker.com/n/projects/2432290

Author

Kabundege Kwizera Christophe