Code Monkey home page Code Monkey logo

banka's Introduction

Banka

Andela Cycle 43 Developer Challenge

Build Status Coverage Status Maintainability

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.

Installing / Getting started

You need to have the following tools installed on your computer before you install and run this project:

  • Git
  • Node.js

To run:

git clone https://github.com/phembarl/Banka.git
cd Banka
npm install
npm start

The code above gets your server running

Initial Configuration

Create a .env file with key SECRET set to a string value like so: SECRET=YOUR_SECRET

Features

  • User can sign up
  • User can sign in
  • User can create a bank account
  • User can view account history
  • User can view a specific account transaction
  • User can view a account details
  • Admin/Staff can activate or deactivate an account
  • Admin/Staff can delete an account
  • Staff (cashier) can credit an account
  • Staff (cashier) can debit an account
  • Admin/Staff can view all users
  • Admin/staff can view a list of accounts owned by a specific user
  • Admin/Staff can view all bank accounts
  • Admin/Staff can view all active bank accounts
  • Admin/Staff can view all dormant bank accounts
  • Admin/Staff can view all transactions

API Endpoints

  • POST /api/v1/auth/signup Create user account
  • POST /api/v1/auth/signin Login a user
  • POST /api/v1/accounts Create a bank account
  • GET /accounts/<account-number>/transactions View account history
  • GET /transactions/<transaction-id> View specific transaction
  • GET /accounts/<account-number> View a specific account's details
  • GET /user/<user-email-address>/accounts View all accounts owned by a specific client
  • GET /accounts View a list of all bank accounts
  • PATCH /api/v1/account/<account-number> Activate or deactivate an account
  • DELETE /api/v1/accounts/<account-number> Delete a specific bank account
  • POST /api/v1/transactions/<account-number>/debit Debit a bank account
  • POST /transactions/<account-number>/credit Credit a bank account
  • GET /api/v1/users Display all users
  • GET /accounts?status=active View a list of all active bank accounts
  • GET /accounts?status=dormant View a list of all active dormant accounts
  • GET /api/v1/transactions Display all transactions

Contributing

Any contribution is welcome, please fork the repository and use a feature branch. Please follow the guide of the Pull Request Template provided.

Links

Author

This ADC project belongs to Oluwafemi Balogun

banka's People

Contributors

dependabot[bot] avatar phembarl avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.