Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals.
Project is currently being built with the Project Management Tool, Pivotal Tracker. You can find the template at https://www.pivotaltracker.com/n/projects/2321791
Template is hosted at https://fxola.github.io/Banka/UI/index.html
API is deployed at https://bank-a.herokuapp.com
The documentation for the API is accessible via https://bank-a.herokuapp.com/documentation
- Clone this repository using
git clone https://github.com/fxola/Banka.git .
- Use the
.env.example
file to setup your environmental variables and rename the file to.env
- Run
npm install
to install all dependencies - Run
npm start
to start the server
- ESLint - Linter Tool
- Babel - Compiler for Next Generation JavaScript
- Mocha - JavaScript Test Framework for API Tests (Backend)
- Chai - TDD/BDD Assertion Library for Node
- Chai-http - A Chai plugin for testing node.js HTTP servers
- Istanbul(nyc) - Code Coverage Generator
- Run Test
npm run test
- Run Coverage Report
npm run coverage
DESCRIPTION | HTTP METHOD | ROUTES |
---|---|---|
Sign up User | POST | /api/v1/auth/signup |
Log in User | POST | /api/v1/auth/signin |
Create a bank account | POST | /api/v1/accounts |
Activate a bank account | PATCH | /api/v1/accounts/account-number |
Deactivate a bank account | PATCH | /api/v1/accounts/{account-number} |
Delete a bank account | DELETE | /api/v1/accounts/{account-number} |
Credit a bank account | POST | /api/v1/transactions/{account-number}/credit |
Debit a bank account | POST | /api/v1/transactions/{account-number}/debit |
View account transaction history | GET | /api/v1/transactions/accounts/{account-number}/transaction |
View a specific transaction | GET | /api/v1/transactions/{transaction-id} |
View all accounts owned by a specific user | GET | /api/v1/user/{user-email}/accounts |
View specific account's details | GET | /api/v1/accounts/{account-number} |
View a list of all bank accounts | GET | /api/v1/accounts/ |
View a list of all active bank accounts | GET | /api/v1/accounts?status=active |
View a list of all dormant bank accounts | GET | /api/v1/accounts?status=dormant |
- I learnt how to build and structure my project backend with this tutorial by Bolaji Olajide - https://www.youtube.com/watch?v=WLIqvJzD9DE
- I learnt how to implement Authentication with JWT with this tutorial by Academind - https://www.youtube.com/watch?v=0D5EEKH97NA
- Huge Appreciation to Ekunola Ezekiel for letting me use his project for reference - https://github.com/Easybuoy/storemanager
- I found this article by Olawale Aladeusi very helpful while setting up my database - https://www.codementor.io/olawalealadeusi896/building-a-simple-api-with-nodejs-expressjs-and-postgresql-db-masuu56t7
- StackOverflow
© Afolabi Abass Ajanaku
Licensed under the MIT License