Project Description
Papel is a light-weight core banking application that powers banking operations like account creation, customer deposits, 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.
https://kabundege.github.io/Papel/
- Landing page
- Sign up.
- Sign in.
- Admin can activate, Deactivate, view and delete an account
- Admin can change a staff or an Admin
- Staff can view all or specififc bank account
- Staff/admin can delete a bank account
- Staff can make a transaction
- Users can view all or a specific transaction
- Users can create an account
- Node - run time environment for JavaScript
- Express JS - API development framework
- Eslint - code analysis tool for identifying problematic patterns found in JavaScript code
- Babel JS - JavaScript compiler (ES6 to ES5)
- Mocha and Chai - for testing
Node a runtime environment for JavaScript
Postman to test the Api endpoints
Visual studio code for editing and running the app
First you need to clone it to your machine:
https://github.com/kabundege/Papel.git
Open it using your favorite IDE I used (vs code)
Install all necessary node modules
npm install
To start the app
npm start
To run tests
npm test
API | Methods | Description |
---|---|---|
/api/v1/auth/signup |
POST | user signup |
/api/v1/auth/signup/admin |
POST | Admin/staff signup |
/api/v1/auth/login |
POST | user login |
/api/v1/account |
POST | create account |
/api/v1/account/<accountNo> |
POST | activate or deactivate account |
/api/v1/accounts |
GET | display all bank accounts |
/api/v1/accounts/<accountNo> |
GET | display a specific account by account Number |
/api/v1/user/<email>/accounts |
GET | display a specific account by email |
/api/v1/account?<status> |
GET | display a specific account by status active/dormant |
/api/v1/account/<accountNo> |
DELETE | admin/staff can delete an account |
/api/v1/account/<accountenumber> |
UPDATE | admin/staff canchange account status |
/api/v1/transactions/<accountNo>/debit |
POST | staff can debit a bank account |
/api/v1/transactions/<accountNo>/credit |
POST | staff can credit a bank account |
/api/v1/accounts/<accountNo>/transactions |
GET | display a specific account transaction history |
/api/v1/transactions/<transactionId> |
GET | display a specific transaction details |
Papel can be Tested using Heroku Through Here
- Using postman