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.
To get started with this project you need a basic knowledge of :
Airbnb (Javascript style guide)
Preview UI templates : Github Pages
View Project Management: Pivotal Tracker
Hosted on Heroku: Heroku
API Documentation: Swagger
- HTML & CSS
- Javascript
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.
User can reset password.
User can upload a photo to their profile.
Ensure you have NodeJS installed by entering node -v
on your terminal.
If you don't have NodeJS installed, go to the NodeJS Website, and follow the download instructions
To install this app
-
git clone https://github.com/Onyimatics/Banka.git
-
To install all the required dependencies, on your terminal run
npm install
- To run server,
npm run start:dev
- Server listens on port
3000
- To run test cases
npm run test
Endpoint | Functionality | HTTP method |
---|---|---|
/api/v2/ | Welcome to Banka API | GET |
/api/v2/auth/signup | Sign up a new user | POST |
/api/v2/auth/signup/admin | Admin Sign up a new Admin or Staff | POST |
/api/v2/auth/signin | Sign in an existing user | POST |
/api/v2/accounts | Create bank account | POST |
/api/v2/accounts/account-number | Admin/Staff can activate or deactivate an account | PATCH |
/api/v2/transactions/account-number | Admin/Staff can delete an account | DELETE |
/api/v2/transactions/account-number/debit | Staff (cashier) can credit an account | POST |
/api/v2/transactions/account-number/credit | Staff (cashier) can debit an account | POST |
/api/v2/accounts/account-number/transactions | View an account’s transaction history | GET |
/api/v2//transactions/transaction-id | View a specific transaction | GET |
/api/v2/user/user-email-address/accounts | View all accounts owned by a specific user (client) | GET |
/api/v2/accounts/account-number | View a specific account’s details | GET |
/api/v2/accounts | View a list of all bank accounts | GET |
/api/v2/accounts?status=active | View a list of all active bank accounts | GET |
/api/v2/accounts?status=dormant | View a list of all active bank accounts | GET |