Skip to content

obayomi96/banka

Repository files navigation

Maintainability Test Coverage Build Status

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

Table of Contents

Technologies Features Installation

Technologies

Currently-

  • HyperText Mark-up Language (HTML)
  • Cascading Style Sheet (CSS)
  • Vanilla javaScript (ES6)
  • Node.js (Express framework)
  • PostgresSQL (Dataase)
  • Mocha Test Framework

Pivotal Tracker

banka project is broken down into smaller tasks with Pivotal Tracker board for project management. The link to the relevant Pivotal Tracker board is (https://www.pivotaltracker.com/n/projects/2319910)

API Endpoint

The API can be hosted at (https://obayomi-banka.herokuapp.com/api/v1/)

API Documentation

The application's API Endpoints are documented with APIary and hosted at (https://obayomi-banka.herokuapp.com/api/v1/docs)

Features

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

Getting Started

Installation

  • Clone the repository
  • run npm install
  • run npm run start-dev
  • Navigate to localhost:9000 on POSTMAN
  • install POSTMAN app to test API Endpoints (https://www.getpostman.com/apps)

API Endpoint routes

HTTP VERB ENDPOINT TASK
POST /api/v1/auth/signup Create user account
POST /api/v1/auth/signin Login a user
POST /api/v1/accounts/ Create a bank account
PATCH /api/v1/accounts/ Update an account status
DELETE /api/v1/accounts/ Delete a specific account
POST /api/v1/transactins//debit Debit a bank account
POST api/v1/transactins//credit credit a bank account
POST /api/v1/auth/signup Register a user
POST /api/v1/auth/login Login a user

Author

  • Martins Obayomi