This project is a Bank Management System (BMS) that allows users to manage their bank accounts, apply for loans, and make installment payments. The system is built using a combination of React for the frontend and Node.js with Express for the backend. The database is managed using MySQL.
- Developed as part of Semester 3
CS3043Database Systemsmodule.
- Supports Savings and Checking accounts.
- Enables Fixed Deposit (FD) setup with annual interest rates.
- Implements account restrictions based on account type (e.g., withdrawal limits, minimum balance).
- Allows customers to make same-bank fund transfers through an online portal.
- Enables ATM withdrawals for Savings and Checking account holders.
- Supports Business and Personal Loan Applications:
- Branch Loans: Initiated and managed by bank employees.
- Online Loans: Self-application for customers with Fixed Deposits (FDs) to borrow up to 60% of the FD value (max 500,000).
- Calculates monthly installments based on loan amount, interest rate, and duration.
- Branch-wise reports on total transactions and late loan installments viewable by branch managers.
- Frontend: React, Axios
- Backend: Node.js with Express, MySQL
- Database: SQL, with emphasis on ACID compliance, primary and foreign keys, and indexing.
To get started with the Bank Management System, follow these steps:
-
Clone the repository:
git clone https://github.com/Kisara-k/bank-sys.git cd bank-sys -
Install backend dependencies:
npm install
-
Install frontend dependencies:
cd client npm install cd ..
-
Set up the database:
- Create a MySQL database and import the provided SQL schema file.
- Update the database configuration in
server/config/database.jswith your database credentials.
-
Start the backend server:
npm run server
-
Start the frontend development server:
cd client npm start -
Open the application:
- Open http://localhost:3000 in your browser to view the application.

