8000 GitHub - mb-tousif/ibbl-backend: Bank website Backend project
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

mb-tousif/ibbl-backend

Repository files navigation

This project is for Investment Bank of Bangladesh Ltd ( IBBL )

Description

A bank website provides online banking services, account management, fund transfers, bill payments, and account information. It typically features security measures, customer support, loan and investment information, branch locators, and resources for financial education and services.

Key Features

  • Developed multi user Role Based Access Control ( RBAC) system.
  • Implemented CRUD operations like update user, change password by getting email confirmation, create A/C, do several transaction like deposit, withdraw, investment and get investment return after maturity of completion.
  • Maintained role based Authentication and Authorization with OTP.
  • Integrated mongoose session and aggregation for processing for mongodb data manipulation

Technologies Used

  • Typescript
  • Express.js
  • MongoDB
  • Mongoose
  • Zod
  • JWT
  • Bcrypt
  • Nodemailer

Database Schema

User

  • id
  • name
  • email
  • password
  • DOB
  • img
  • NID
  • accountNo
  • contactNo
  • gender
  • OTP
  • confirmedAccount
  • role
  • failedLoginAttempts
  • changePassword
  • status
  • address
  • createdAt
  • updatedAt

Bank Summary

  • id
  • totalUser
  • totalAccountHolder
  • totalInvestment
  • totalCredit
  • totalLiability
  • totalCapital
  • totalProfit
  • totalExpense

Bank Account

Savings Account (SVG)
  • id
  • userId
  • accountType
  • accountNo
  • interestRate
  • totalBalance
  • interest
  • depositAmount
  • withdrawAmount
  • maturityDate
  • status
  • createdAt
  • updatedAt
Staff Account (STF)
  • id
  • userId
  • accountType
  • accountNo
  • interestRate
  • totalBalance
  • interest
  • depositAmount
  • withdrawAmount
  • company
  • duration
  • maturityDate
  • transactionRef
  • status
  • createdAt
  • updatedAt
Loan Account (LON)
  • id
  • userId
  • accountType
  • accountNo
  • interestRate
  • totalLoan
  • interest
  • depositAmount
  • withdrawAmount
  • duration
  • maturityDate
  • transactionRef
  • status
  • createdAt
  • updatedAt

Current Account (CRT)

  • id
  • userId
  • accountType
  • accountNo
  • interestRate
  • totalBalance
  • interest
  • depositAmount
  • withdrawAmount
  • company
  • transactionRef
  • status
  • createdAt
  • updatedAt

Transaction

  • id
  • userId
  • receiverId
  • amount
  • description
  • createdAt
  • updatedAt

Subscribers

  • id
  • email
  • createdAt
  • updatedAt

API Endpoints

Bank Summary

  • Get Bank Summary GET /api/v1/bank-main/current-summary [ Only Admin, Manager and CEO ]
  • Post Bank Capital Transaction POST /api/v1/bank-main/capital-transactions [ Only CEO ]
  • Update Bank Statement PATCH /api/v1/bank-main/update-statement [ Only CEO ]

User

  • Get All Users GET /api/v1/users/all-users [ Only Admin, Manager and CEO ]
  • Get User By Id GET /api/v1/users/user/:id [ Only Admin, Manager and CEO ]
  • Post create User POST /api/v1/users/create-user [ All User ]
  • Post create Management POST /api/v1/users/create-mgt [ Only Admin, Manager and CEO ]
  • Update User By Id PATCH /api/v1/users/update-user/:id [ Only User]
  • Delete User By Id DELETE /api/v1/users/delete-profile/:id [ Only Admin and Super Admin ]

Auth

  • Login POST /api/v1/auth/login [ All User ]
  • Verify OTP POST /api/v1/auth/verify-otp [ All User ]
  • Forgot Password POST /api/v1/auth/forgot-password [ All User ]
  • Reset Password POST /api/v1/auth/reset-password [ All User ]

Bank Account

Savings Account (SVG)
  • Get All Savings Account GET /api/v1/saving-ac/get-all-savings-ac [ Only Admin, Manager and CEO ]
  • Get Savings Account By Id GET /api/v1/saving-ac/get-saving-ac/:id [ Only Admin, Cashier, Manager and CEO ]
  • Get My Account By Id GET /api/v1/saving-ac/my-account [ Account Holder, Manager, Cashier, Admin and CEO]
  • Post create Savings Account POST /api/v1/saving-ac/create-saving-ac [ Only Manager, Admin, Cashier and CEO ]
  • Update Savings Account By Id PATCH /api/v1/saving-ac/update-saving-ac/:id [ Only Manager, Admin, Cashier and CEO ]
  • Withdraw interest PATCH /api/v1/saving-ac/withdraw-interest [ Only Account Holder, Manager, Admin, Cashier and CEO ]
Staff Account (STF)
  • Get All Staff Account GET /api/v1/staff-ac/get-all-staffs-ac [ Only Admin, Manager and CEO ]
  • Get Staff Account By Id GET /api/v1/staff-ac/get-staff-ac/:id [ Only Admin, Manager and CEO ]
  • Get My Account By Id GET /api/v1/staff-ac/my-account [ Account Holder, Manager, Admin, Cashier and CEO]
  • Post create Staff Account POST /api/v1/staff-ac/create-staff-ac [ Only Manager, Admin, Cashier and CEO ]
  • Update Staff Account By Id PATCH /api/v1/staff-ac/update-staff-ac/:id [ Only Manager, Admin, Cashier and CEO ]
Loan Account (LON)
  • Get All Loan Account GET /api/v1/loan-ac/get-all-loans-ac [ Only Admin, Manager, Cashier and CEO ]
  • Get Loan Account By Id GET /api/v1/loan-ac/get-loan-ac/:id [ Only Admin, Manager, Cashier and CEO ]
  • Get My Account By Id GET /api/v1/loan-ac/my-account [ Account Holder, Manager, Admin, Cashier and CEO]
  • Post create Loan Account POST /api/v1/loan-ac/create-loan-ac [ Only Manager, Admin, Cashier and CEO ]
  • Update Loan Account By Id PATCH /api/v1/loan-ac/update-loan-ac/:id [ Only Manager, Admin, Cashier and CEO ]
  • Paid Loan PATCH /api/v1/loan-ac/give-loan/:id [ Only Account Holder, Manager, Admin, Cashier and CEO ]
Current Account (CRT)
  • Get All Current Account GET /api/v1/current-ac/get-all-currents-ac [ Only Admin, Manager, Cashier and CEO ]
  • Get Current Account By Id GET /api/v1/current-ac/get-current-ac/:id [ Only Admin, Manager, Cashier and CEO ]
  • Get My Account By Id GET /api/v1/current-ac/my-account [ Account Holder, Manager, Admin, Cashier and CEO]
  • Post create Current Account POST /api/v1/current-ac/create-current-ac [ Only Manager, Admin, Cashier and CEO ]
  • Update Current Account By Id PATCH /api/v1/current-ac/update-current-ac/:id [ Only Manager, Admin, Cashier and CEO ]

Transaction

  • Get All Transactions GET /api/v1/transactions/get-all-transactions [ Only Admin, Manager, Cashier and CEO ]
  • Get Transaction By Id GET /api/v1/transactions/get-transaction/:id [ Only Admin, Manager, Cashier and CEO ]
  • Get My Transactions GET /api/v1/transactions/my-transactions [ Account Holder, Manager, Admin, Cashier and CEO]
  • Post create Transaction POST /api/v1/transactions/save-transaction [All User]

Subscribers

  • Get All Subscribers GET /api/v1/subscribers/get-all-subscribers [ Only Admin, Manager, Cashier and CEO ]
  • Post create Subscriber POST /api/v1/subscribers/create-subscriber [ All User ]
  • Delete Subscriber By Id DELETE /api/v1/subscribers/delete-subscriber/:id [ Only Admin, Manager, Cashier and CEO ]

Releases

No releases published

Packages

No packages published
0