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 run this application, you should have the following:
- Node
- NPM/Yarn (NPM comes with Node)
Follow the instructions to have the app up and run:
- clone the repo: RUN THE COMMAND
>> git clone https://github.com/PelumiAlesh/Banka.git
- Install the production depency: RUN THE COMMAND
>> npm i --prod
- Transpile the code: RUN THE COMMAND
>> npm run build
- Start the server: RUN THE COMMAND
>> npm run start
- You should use
localhost:5000
as your base url
- 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.
To run the test USE the following command
>> npm run test
The test covers all the endpoints and requests sent to them.
This application was deployed to the following:
- Heroku : For API endpoints.
- Github Pages : UI template for this application.
- Pivot Tracker : Pivot Tracker stories
METHOD | DESCRIPTION | ENDPOINTS |
---|---|---|
POST | User's Sign up | /api/v1/auth/signup |
POST | User's Sign in | /api/v1/auth/signin |
POST | Create a bank account | /api/v1/accounts |
PATCH | Activate or deactive an account | /api/v1/accounts/: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 |