Bank Management System Final_report
Bank Management System Final_report
On
“BANKING MANAGEMENT SYSTEM”
Submitted for the partial fulfillment of the requirement for the degree of
Bachelor of Technology
in
COMPUTER SCIENCE & ENGINEERING
By
LAGNAJIT PRUSTY Reg. No: 2001287114
RASHMIRANJAN BARIK Reg. No: 2001287142
GOURISH KUMAR KAMELA Reg. No: 2001287099
Guided By
Prof. Rahul Ray
Certificate
This is to certify that the project report entitled “Banking Management System ” submitted by
is an authentic work carried out by him/her at GITA under my guidance. The matter embodied
in this project work has not been submitted earlier for the award of any degree or diploma to
the best of my knowledge and belief.
ACKNOWLEDGEMENT
(Full signature of the student ) (Full signature of the student) (Full signature of the student)
NAME OF THE STUDENT NAME OF THE STUDENT NAME OF THESTUDENT
Reg. No: 2001287114 Reg. No: 2001287142 Reg. No: 2001287099
Abstract
The Banking Management System is a comprehensive software solution designed to streamline and enhance
the operations of financial institutions, ensuring efficient and secure management of banking processes.
This system aims to provide a user-friendly interface for both customers and bank employees, facilitating
seamless transactions, account management, and overall banking services.
Key Features:
User Authentication and Authorization:
Robust authentication mechanisms to ensure the security of user accounts.
Role-based access controls to define and manage user privileges.
Account Management:
Creation, modification, and closure of customer accounts with ease.
Real-time updates on account balances and transaction history.
Transaction Processing:
Support for various types of transactions, including deposits, withdrawals, fund transfers, and bill payments.
Integration with payment gateways to facilitate online transactions.
Customer Relationship Management (CRM):
Customer profiling and segmentation for personalized banking services.
Automated communication for account alerts, promotions, and announcements.
Loan Management:
Efficient handling of loan applications, approvals, and disbursements.
Monitoring of loan repayments and interest calculations.
Reporting and Analytics:
Generation of comprehensive reports for financial analysis, audit trails, and regulatory compliance.
Integration with data analytics tools for informed decision-making.
Integration with External Systems:
Seamless integration with third-party systems such as credit scoring, fraud detection, and identity
verification.
Customer Support and Feedback:
Customer support features, including chat support and helpdesk functionalities.
Feedback mechanisms for continuous improvement and customer satisfaction.
The Banking Management System is designed to enhance the overall efficiency, security, and customer
experience within the banking industry.
TALBLE OF CONTENTS
Previous work (if any) or related systems, how they are used
DFDs/Algorithm/Flow Charts/
A bank is a financial institution which accepts deposits, pays interest on pre-defined rates, clears checks,
makes loans, and often acts as an intermediary in financial transactions. It also provides other financial
services to its customers.
Bank management governs various concerns associated with bank in order to maximize profits. The concerns
broadly include liquidity management, asset management, liability management and capital management.
We will discuss these areas in later chapters.
Origin of Banks
The origin of bank or banking activities can be traced to the Roman empire during the Babylonian period. It
was being practiced on a very small scale as compared to modern day banking and frame work was not
systematic.
Modern banks deal with banking activities on a larger scale and abide by the rules made by the government.
The government plays a crucial role with its control over the banking system. This calls for bank
management, which further ensures quality service to customers and a win-win situation between the
customer, the banks and the government.
Scheduled & Non-Scheduled Banks
Scheduled and non-scheduled banks are categorized by the criteria or eligibility setup by the governing
authority of a particular region. The following are the basic differences between scheduled and nonscheduled
banks in the Indian banking perspective.
Scheduled banks are those that have paid-up capital and deposits of an aggregate value of not less than
rupees five lakhs in the Reserve Bank of India. All their banking businesses are carried out in India. Most of
the banks in India fall in the scheduled bank category.
Non-scheduled banks are the banks with reserve capital of less than five lakh rupees. There are very few
banks that fall in this category.
Evolution of Banks
Banking system has evolved from barbaric banking where commodities were loaned to modern day banking
system, which caters to a range of financial services. The evolution of banking system was gradual with
growth in each and every aspect of banking. Some of the major changes which took place are as follows −
Barter system replaced by money which made transaction uniform
Uniform laws were setup to increase public trust
Centralized banks were setup to govern other banks
Book keeping was evolved from papers to digital format with the introduction of computers
OBJECTIVE OF THE SYSTEM:-
1. Hardware Requirements:-
Windows 10
2. Software Requirements:-
Intellij IDEA
MySql 8.0 command line client
3. System Requirements and System Specification:-
Operating System : Windows XPWeb Browser : Internet Explorer 6 or Firefox 2 (Browser
should beJavaScript and Flash enabled)
Back End : JAVA 8
RDBMS : MS ACCESS
Communication Interface:-
-Client on Internet will be using HTTP/HTTPS protocol.-Client on Intranet will be using
TCP/IP protocol.-A Web Browser such as IE 6.0 or equivalent
4. System Design: Block diagram of the system:-
5. Flow Charts:-
The monolithic architecture is the easiest to implement, but it is hard to maintain in the long run, and
it is very hard to add new features or update the old ones. Moreover, with a monolithic architecture, it
is hard to introduce new tools and frameworks to the developing stack, as there are no points inside
Package com.company:-
package com.company;
import Service.BankingService;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
BankingService bankingService=new BankingService();
Scanner sc= new Scanner(System.in);
int choice;
while(true){
System.out.println(":::::::::::WELCOME TO HDFC BANK::::::::::");
System.out.println("1.ACCOUNT OPENING"+"\n2.Deposit"+"\n3.Check
Balance"+"\n4.Exit"+" \nEnter Your Choice:");
choice=sc.nextInt();
switch(choice){
case 1:
bankingService.accountOpening();
break;
case 2:bankingService.deposit();
break;
case 3:bankingService.checkBalance();
break;
case 4:System.exit(0);
default:
System.out.println("Enter a valid choice...");
}
}
}
}
Package DatabaseConnection.java:-
package DatabseConnection.java;
import model.People;
import java.sql.*;
public class DatabaseService {
public void addToDatabase(People people){
Connection con;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/banking_system","root","g
anesh@2002");
String name=people.getName();
long adharaNo=people.getAdharaNo();
long phNo=people.getPhNo();
long accNo=people.getAccNo();
String state=people.getAddress().getState();
String city=people.getAddress().getCity();
String email=people.getAddress().getEmailId();
int pin=people.getAddress().getPin();
int Amount=people.getAmount().getAmount();
System.out.println(name);
PreparedStatement pstmt = con.prepareStatement("INSERT INTO
bank_model(name, AdharNo,AccountNo,EmailId, PhNo, state,city,pin, Amount)
values(?,?,?,?,?,?,?,?,?);");
pstmt.setString(1,name);
pstmt.setLong(2,adharaNo);
pstmt.setLong(3,accNo);
pstmt.setString(4,email);
pstmt.setLong(5,phNo);
pstmt.setString(6,state);
pstmt.setString(7,city);
pstmt.setInt(8,pin);
pstmt.setInt(9,Amount);
int rs =pstmt.executeUpdate();
System.out.println(rs);
con.close();
}
catch(Exception e){
System.out.println(e);
}
}
}
Package Model:-
package model;
public class Address {
private String state;
private String city;
private String emailId;
private int pin;
public void setState(String state) {
this.state = state;
}
public void setCity(String city) {
this.city = city;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
public void setPin(int pin) {
this.pin = pin;
}
public String getState() {
return state;
}
public String getCity() {
return city;
}
public String getEmailId() {
return emailId;
}
public int getPin() {
return pin;
}
}
package model;
public class Amount {
private int amount;
public void setAmount(int amount) {
this.amount = amount;
}
public int getAmount() {
return amount;
}
}
package model;
public class People {
private String name;
private long adharaNo;
private long phNo;
private long accNo;
private Address address;
private Amount amount;
public void setName(String name) {
this.name = name;
}
public void setAdharaNo(long adharaNo) {
this.adharaNo = adharaNo;
}
public void setPhNo(long phNo) {
this.phNo = phNo;
}
public void setAccNo(long accNo) {
this.accNo = accNo;
}
public void setAddress(Address address) {
this.address = address;
}
public void setAmount(Amount amount) {
this.amount = amount;
}
public String getName() {
return name;
}
public long getAdharaNo() {
return adharaNo;
}
public long getPhNo() {
return phNo;
}
public long getAccNo() {
return accNo;
}
public Address getAddress() {
return address;
}
public Amount getAmount() {
return amount;
}
}
Package Service:-
package Service;
import SingleTone.SingleTonePeople;
import model.Address;
import model.Amount;
import model.People;
import DatabseConnection.java.DatabaseService;
import java.util.Scanner;
public class BankingService {
Scanner scanner=new Scanner(System.in);
DatabaseService ds=new DatabaseService();
static int i=1;
public void accountOpening(){
People people=new People();
Address address1=new Address();
Amount amount=new Amount();
System.out.println("Enter Name:");
people.setName(scanner.next());
System.out.println("Enter AdharaNumber:");
people.setAdharaNo(scanner.nextLong());
System.out.println("Enter PhoneNumber:");
people.setPhNo(scanner.nextLong());
people.setAccNo(7654321110000l+i);
System.out.println("Enter EmailID:");
address1.setEmailId(scanner.next());
System.out.println("Enter State:");
address1.setState(scanner.next());
System.out.println("Enter city:");
address1.setCity(scanner.next());
System.out.println("Enter Pin:");
address1.setPin(scanner.nextInt());
System.out.println("Enter Amount:");
amount.setAmount(scanner.nextInt());
people.setAddress(address1);
people.setAmount(amount);
SingleTonePeople.getInstance().linkedList.add(people);
System.out.println("Congratulation Mr/Mrs "+people.getName());
System.out.println("Your AccountNumber:"+people.getAccNo());
ds.addToDatabase(people);
i++;
}
public void deposit(){
Amount amount3=new Amount();
long accNo;
System.out.println("Enter your AccountNumber:");
accNo=scanner.nextLong();
for(int i=0;i< SingleTonePeople.getInstance().linkedList.size();i++){
if(accNo==SingleTonePeople.getInstance().linkedList.get(i).getAccNo()){
People people1=SingleTonePeople.getInstance().linkedList.get(i);
System.out.println("Enter Amount:");
amount3.setAmount(SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmou
nt()+scanner.nextInt());
people1.setAmount(amount3);
SingleTonePeople.getInstance().linkedList.set(i,people1);
System.out.println(SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmount
());
break;
}
}
}
public void withDraw(){
long accNo;
Amount amount=new Amount();
System.out.println("Enter AccountNumber:");
accNo=scanner.nextLong();
int amount1;
System.out.println("Enter Amount:");
amount1=scanner.nextInt();
for(int i=0;i<SingleTonePeople.getInstance().linkedList.size();i++){
if(accNo==SingleTonePeople.getInstance().linkedList.get(i).getAccNo()){
if(amount1>SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmount()){
System.out.println("InSufficient Amount");
System.exit(0);
}else{
People people2=SingleTonePeople.getInstance().linkedList.get(i);
amount.setAmount(SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmoun
t()-amount1);
people2.setAmount(amount);
SingleTonePeople.getInstance().linkedList.set(i,people2);
System.out.println(SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmount
());
}
}
}
}
public void checkBalance(){
long accNo;
System.out.println("Enter Account Number:");
accNo=scanner.nextLong();
for(int i=0;i<SingleTonePeople.getInstance().linkedList.size();i++){
if(accNo==SingleTonePeople.getInstance().linkedList.get(i).getAccNo()){
System.out.println("Your
Balance:"+SingleTonePeople.getInstance().linkedList.get(i).getAmount().getAmount());
}
}
}
}
Package SingleTone:-
package SingleTone;
import model.People;
import java.util.*;
public class SingleTonePeople {
private static SingleTonePeople singleTonePeople;
public List<People> linkedList=new LinkedList<People>();
private SingleTonePeople(){}
public static SingleTonePeople getInstance(){
if(singleTonePeople==null){
singleTonePeople=new SingleTonePeople();
}
return singleTonePeople;
}
}
Chapter 4:- TESTING AND TESTING RESULT:-
Chapter:-5 RESULTS AND CONCLUSION
Bank management system is a virtualization of transactions in banking system. The banking system are used
manual working but when we used online banking system it is totally virtualization process which avoid
manual process and converts it in automatic process . If user can make a transaction in bank management
system it is available in any were also user can link aadhaar with account, change branch location easily.
Bank management system is saving the time with accuracy than bank manual system.