GithubHelp home page GithubHelp logo

allebd / banka Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 4.0 1.72 MB

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

Home Page: https://allebd.github.io/banka/UI/index.html

HTML 39.87% CSS 10.70% JavaScript 49.42%
andela nodejs express postgres babel mocha

banka's Introduction

Banka

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

Build Status Coverage Status Maintainability

Table of Contents

Required 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.

Optional Features

  • User can reset password.
  • Integrate real time email notification upon credit/debit transaction on user account.
  • User can upload a photo to their profile.

UI Templates

UI Template for the application can be found here Github pages

Pivotal Tracker

Pivotal Tracker Stories can found here Pivotal Tracker

Heroku Deployment

Application was deployed to Heroku. Use public URL https://banka-allebd.herokuapp.com with API endpoints.

Swagger Documentation

API Documention was generated with Swagger.

Technologies Used

  • HTML5 for frontend design
  • CSS3 for styling frontend
  • JavaScript for frontend design
  • Node-js Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
  • PostgreSQL used for setting up relational database
  • Babel used for transpiling codes from ES6 to ES5
  • Mocha used for setting up tests

Installations

Getting started

  • You need to have Node and NPM installed on your computer.
  • Installing Node automatically comes with npm.

Clone

  • Clone this project to your local machine https://github.com/allebd/Banka.git

Setup

  • Installing the project dependencies

    Run the command below

   npm install
  • Start your node server

    run the command below

  npm start
  • Use http://localhost:5000 as base url for endpoints

Endpoints

METHOD DESCRIPTION ENDPOINTS
POST Sign up for an account /api/v1/auth/signup
POST Sign in to an account /api/v1/auth/signin
POST Create a bank account /api/v1/accounts
GET Get all accounts /api/v1/accounts
GET Get a specific account /api/v1/accounts/:accountNumber
PATCH Activate or deactivate an account /api/v1/account/:accountNumber
DELETE Delete an account /api/v1/accounts/:accountNumber
POST Perform a debit transaction /api/v1/transactions/{accountNumber}/debit
POST Perform a credit transaction /api/v1/transactions/{accountNumber}/credit
GET Get all account's transactions /api/v1/accounts/{accountNumber}/transactions
GET Get specific transaction /api/v1/transactions/{id}
GET Get all dormant account /api/v1/accounts?status=active
GET Get all active account /api/v1/accounts?status=dormant
GET Get all accounts owned by a specific user /api/v1/user/:userEmail/accounts
POST Create staff/admin account /api/v1/user/admin
GET Get API Documentation /api-docs

Running Unit Test

  • Run test for all endpoints

    run the command below

  npm test

Acknowledgements

Author

Bella Oyedele

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.