This project is a Bank Management System (BMS) that enables users to manage their bank accounts, apply for loans, and make installment payments. Developed as part of the CS3043 Database Systems module, the system leverages React for the frontend and Node.js with Express for the backend, with MySQL as the database.
- 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 same-bank fund transfers for customers through an online portal.
- Supports ATM withdrawals for Savings and Checking account holders.
- Supports Business and Personal Loan Applications:
- Branch Loans: Initiated and managed by bank employees.
- Online Loans: Allows customers with Fixed Deposits (FDs) to borrow up to 60% of the FD value (maximum loan amount: 500,000).
- Calculates monthly installments based on loan amount, interest rate, and duration.
- Branch-wise reports on total transactions and overdue loan installments, accessible by branch managers.
- Frontend: React, Axios
- Backend: Node.js with Express, MySQL
- Database: MySQL, emphasizing ACID compliance, primary and foreign keys, and indexing.
To get started with the Bank Management System, follow these steps:
- Clone the repository:
git clone <repository-url> cd bank-management-system
- Install backend dependencies:
Copy code cd backend npm install
- Install frontend dependencies:
cd ../frontend npm install
- Set up the database:
- Create a MySQL database.
- Import the provided SQL schema file (
updated_model.sql
) located in the repository. - Configure the database connection:
- Update the database configuration in
backend/config/database.js
with your MySQL credentials.
- Update the database configuration in
- Start the backend server:
cd ../backend npm start
- Start the frontend development server:
cd ../frontend npm run dev
- Open the application:
- Open http://localhost:3000 in your browser to access the application.
- The project description, tables, and entity-relationship diagram are included in the repository.
- The tech stack includes Express, React, and MySQL.
- For more details, refer to the documentation or open an issue in the repository if you encounter any issues.