Banka is a light-weight core banking application that powers banking operations like account creation, customer deposit and withdrawals.
- About
- Required Features
- Optional Features
- UI Templates
- Pivotal Tracker
- Heroku Deployment
- Swagger Documentation
- Technologies Used
- Acknowledgements
- Author
- 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.
- Integrate real time email notification upon credit/debit transaction on user account.
- User can upload a photo to their profile.
UI Template for the application can be found here Github pages
Pivotal Tracker Stories can found here Pivotal Tracker
Application was deployed to Heroku. Use public URL https://banka-allebd.herokuapp.com with API endpoints.
API Documention was generated with Swagger.
- HTML5 for frontend design
- CSS3 for styling frontend
- JavaScript for frontend design
- Node-js Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
- PostgreSQL used for setting up relational database
- Babel used for transpiling codes from ES6 to ES5
- Mocha used for setting up tests
- You need to have Node and NPM installed on your computer.
- Installing Node automatically comes with npm.
- Clone this project to your local machine
https://github.com/allebd/Banka.git
- Installing the project dependencies
Run the command below
npm install
- Start your node server
run the command below
npm start
- Use
http://localhost:5000
as base url for endpoints
METHOD | DESCRIPTION | ENDPOINTS |
---|---|---|
POST | Sign up for an account | /api/v1/auth/signup |
POST | Sign in to an account | /api/v1/auth/signin |
POST | Create a bank account | /api/v1/accounts |
GET | Get all accounts | /api/v1/accounts |
GET | Get a specific account | /api/v1/accounts/:accountNumber |
PATCH | Activate or deactivate an account | /api/v1/account/: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 |
GET | Get all account's transactions | /api/v1/accounts/{accountNumber}/transactions |
GET | Get specific transaction | /api/v1/transactions/{id} |
GET | Get all dormant account | /api/v1/accounts?status=active |
GET | Get all active account | /api/v1/accounts?status=dormant |
GET | Get all accounts owned by a specific user | /api/v1/user/:userEmail/accounts |
POST | Create staff/admin account | /api/v1/user/admin |
GET | Get API Documentation | /api-docs |
- Run test for all endpoints
run the command below
npm test