Bank Management System Project File1
Bank Management System Project File1
Project Report on
“BANK MANAGEMENT SYSTEM”
Java Programming Language
B.c.a III Year
Introduction:
The “Bank Account Management System” project is a model Internet Banking Site. This site
enables the customers to perform the basic banking transactions by sitting at their office or at
homes through PC or laptop. The system provides the access to the customer to create an
account, deposit/withdraw the cash from his account, also to view reports of all accounts present.
The customers can access the banks website for viewing their Account details and perform the
transactions on account as per their requirements. With Internet Banking, the brick and mortar
structure of the traditional banking gets converted into a click and portal model, thereby giving a
concept of virtual banking a real shape. Thus, today's banking is no longer confined to branches.
E-banking facilitates banking transactions by customers round the clock globally.
The primary aim of this “Bank Account Management System” is to provide an improved design
methodology, which envisages the future expansion, and modification, which is necessary for a
core sector like banking. This necessitates the design to be expandable and modifiable and so a
modular approach is used in developing the application software.
Anybody who is an Account holder in this bank can become a member of Bank Account
Management System. He has to fill a form with his personal details and Account Number.
Bank is the place where customers feel the sense of safety for their property. In the bank,
customers deposit and withdraw their money. Transaction of money also is a part where
customer takes shelter of the bank. Now to keep the belief and trust of customers, there is the
positive need for management of the bank, which can handle all this with comfort and ease.
Smooth and efficient management affects the satisfaction of the customers and staff members,
indirectly. And of course, it encourages management committee in taking some needed decision
for future enhancement of the bank.
Nowdays, managing a bank is tedious job up to certain limit. So software that reduces the work
is essential. Also, today’s world is a genuine computer world and is getting faster and faster day-
by-day. Thus, considering above necessities, the software for bank management has become
necessary which would be useful in managing the bank more efficiently.
All transactions are carried out online by transferring from accounts in the same Bank or
international bank. The software is meant to overcome the drawbacks of the manual system.
The main aim of designing and developing this Internet banking System Java primarily based
Engineering project is to provide secure and efficient net banking facilities to the banking
customers over the internet. Apache Server Pages, MYSQL database used to develop this bank
application where all banking customers can login through the secured web page by their account
login id and password. Users will have all options and features in that application like get money
from western union, money transfer to others, and send cash or money to inter banking as well as
other banking customers by simply adding them as payees.
Main Purpose
The Traditional way of maintaining details of a user in a bank was to enter the details and record
them. Every time the user needs to perform some transactions he has to go to bank and perform
the necessary actions, which may not be so feasible all the time. It may be a hard-hitting task for
the users and the bankers too. The project gives real life understanding of Online Banking
System and activities performed by various roles in the supply chain. Here, we provide
automation for banking system through Internet. Online Banking System project captures
activities performed by different roles in real life banking which provides enhanced techniques
for maintaining the required information up-to-date, which results in efficiency. The project gives
real life understanding of Online Banking System and activities performed by various roles in the
supply chain
Main Goal
1. Motto- Our motto is to develop a software program for managing the entire bank process
related to Administration accounts customer accounts and to keep each every track about their
property and their various transaction processes efficiently.
Hereby, our main objective is the customer’s satisfaction considering today’s faster in the world.
2. Customer Satisfaction: Client can do his operations comfortably without any risk or losing of
his privacy. Our software will perform and fulfill all the tasks that any customer would desire.
3. Saving Customer Time: Client doesn't need to go to the bank to do small operation.
4. Protecting the Customer: It helps the customer to be satisfied and comfortable in his choices,
this protection contains customer’s account, money and his privacy.
5. Transferring Money: Help client transferring money to/or another bank or country.
Methods
Administrative Modules
Here in my project there are two types of modules. This module is the main module which
performs all the main operations in the system. The major operations in the system are:
Admin Module
Admin can access this project there is an authorization process. If you login as an Admin then
you will be redirected to the Admin Home Page and if you are a simple user you will be
redirected to your Account Home Page. This performs the following functions: Create
Individual Accounts, manage existing accounts, View all transactions, Balance enquiry,
Delete/close account etc.
1- Admin login
2- Add/delete/update account
3- Withdrawal/deposit/statements transaction
4- Account Information
5- User details list
6- Active/Inactive account
7- View transaction histories
User Module
A simple user can access their account and can deposit/withdraw money from their account.
User can also transfer money from their account to any other bank account. User can see their
transaction report and balance enquiry too.
Banks terms:
1. All requests received from customers are logged for backend fulfillment and are effective from
the time they are recorded at the branch.
2. Rules and regulations applicable to normal banking transactions in India will be applicable
mutatis mutandis for the transactions executed through this site.
3. The BAMS Bank service cannot be claimed as a right. The bank may also convert this into a
discretionary service anytime.
4. Dispute between the customer and the Bank in this service is subject to the jurisdiction of the
courts in the Republic of India and governed by the laws prevailing in India.
5. The Bank reserves the right to modify the services offered or the Terms of service of
BAMS Bank. The changes will be notified to the customers through a notification on the Site.
Customer’s obligations
There are some hidden benefits too. As a young bank customer, you're just learning how to
manage your money and observe your spending patterns.
Online banking allows you to watch your money on a daily basis if you want to. By keeping
close tabs on your funds, you'll always be aware of what's happening in your bank account.
For those experienced spenders, this option is far more appealing than the sudden discovery that
you're broke!
It's also helpful to watch how much interest you're gathering on investments and savings or what
service charges you have incurred.
1. Online banking with key bank is fast, secure, convenient and free.
2. Quick, simple, authenticated access to accounts via the web application.
3. Simply scalable to grow with changing system requirement.
4. Global enterprise wide access to information.
5. Improved data security, restricting unauthorized access.
6. Minimize Storage Space.
Future Look
The “Banking Online System is a big and ambitious project. I am thankful for being provided
this great opportunity to work on it. As already mentioned, this project has gone through
extensive research work. On the basis of the research work, we have successfully designed and
implemented banking online System. To know what the future of online banking looks like, it’s
probably worth looking at the present – online banking isn’t new. When you think of online
banking, you probably think about a computer (either a desktop or laptop), a three or four step
security process and then an interface that lets you view the balance of your various bank
accounts and credit cards, whilst permitting you to transfer money and pay bills. And you’re not
wrong either. The most valuable future looks are following below:
1- More branches of the bank, maybe it will be international, that means more ATM machines
outside.
2- Customer issues development based on their needs, so the help desk will be aware of their
needs and easy to use.
3- Developing a mobile App for banking system that help users to do the obtained his operations
without go to the bank only he needs to sign in using his A/C NO. And password and then use
your own PIN. Finally the system will update automatically.
Conclusion
This project is developed to nurture the needs of a user in a banking sector by embedding all the
tasks of transactions taking place in a bank. Future version of this project will still be much
enhanced than the current version. Writing and depositing checks are perhaps the most
fundamental ways to move money in and out of a checking account, but advancements in
technology have added ATM and debit card transactions. All banks have rules about how long it
takes to access your deposits, how many debit card transactions you're allowed in a day, and how
much cash you can withdraw from an ATM. Access to the balance in your checking account can
also be limited by businesses that place holds on your funds.
Banks are providing internet banking services also so that the customers can be attracted. By
asking the bank employs we came to know that maximum numbers of internet bank account
holders are youth and business man. Online banking is an innovative tool that is fast becoming a
necessity. It is a successful strategic weapon for banks to remain profitable in a volatile and
competitive marketplace of today. If proper training should be given to customer by the bank
employs to open an account will be beneficial secondly the website should be made friendlier
from where the customers can directly make and access their accounts.
Thus, the Bank Management System it is developed and executed successfully.
Reference
Source Code
Login java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Login extends JFrame implements ActionListener {
JButton login,signup,clear;
JTextField cardTextField;
JPasswordField pinTextField;
Login() {
setTitle("AUTOMATED TELLER MACHINE");
setLayout(null);
ImageIcon i1= new ImageIcon(ClassLoader.getSystemResource("Icons/logo.jpg"));
Image i2 =i1.getImage().getScaledInstance(100,100, Image.SCALE_DEFAULT);
ImageIcon i3= new ImageIcon(i2);
JLabel label= new JLabel(i3);
label.setBounds(110,10,100,100);
add(label);
getContentPane().setBackground(Color.white);
setSize(750,480);
setVisible(true);
setLocation (350,200);
}
}else if(ae.getSource()==signup){
setVisible(false);
new SignupOne().setVisible(true);
}
}
public static void main(String args[]) {
new Login();
}
}
Conn.Java
package bank.management.system;
import java.sql.*;
public class Conn {
Connection c;
Statement s;
public Conn(){
try{
c=
DriverManager.getConnection("jdbc:mysql:///bankmanagementsystem","root","simi4468@");
s = c.createStatement();
}
}
SignUpOne.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.util.*;
import com.toedter.calendar.JDateChooser;
import java.awt.event.*;
long random;
JTextField nameTextField, fnameTextField, dobTextField, emailTextField,
addressTextField,cityTextField, stateTextField, pinTextField;
JButton next;
JRadioButton male, female, married, unmarried,other;
JDateChooser dateChooser;
SignupOne(){
setLayout(null);
getContentPane().setBackground(Color.white);
setSize(850,800);
setLocation(350,10);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
try{
if(name.equals("")) {
JOptionPane.showMessageDialog(null,"Name is Required");
}else{
Conn c = new Conn();
String query = "insert into signup values('"+formno+"', '"+name+"', '"+fname+"',
'"+dob+"', '"+gender+"', '"+email+"', '"+marital+"', '"+address+"', '"+city+"', '"+state+"',
'"+pin+"')";
c.s.executeUpdate(query);
setVisible(false);
new SignupTwo(formno).setVisible(true);
}
}catch(Exception e){
System.out.println(e);
}
}
public static void main(String args[]) {
new SignupOne();
}
}
SignUpTwo.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
SignupTwo(String formno) {
this.formno = formno;
setLayout(null);
getContentPane().setBackground(Color.white);
setSize(850, 800);
setLocation(350, 10);
setVisible(true);
}
try {
Conn c = new Conn();
String query = "insert into signuptwo values('" + formno + "', '" + sreligion + "', '" +
scategory + "', '" + sincome + "', '" + seducation + "', '" + soccupation + "', '" + span + "', '" +
saadhar + "', '" + sseniorcitizen + "', '" + sexistingaccount + "')";
c.s.executeUpdate(query);
//Signup3 object
setVisible(false);
new SignupThree(formno).setVisible(true);
} catch (Exception e) {
System.out.println(e);
}
}
SignUpThree.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
JRadioButton r1,r2,r3,r4;
JCheckBox c1,c2,c3,c4,c5,c6,c7;
JButton submit, cancel;
String formno;
SignupThree(String formno){
this.formno = formno;
setLayout(null);
JLabel l1 = new JLabel("Page 3: Account Details");
l1.setFont(new Font("Raleway", Font.BOLD,22));
l1.setBounds(280,40,400,40);
add(l1);
c7 = new JCheckBox ("I hereby declaires that the above entered details are correct to the
best of my knowledge.");
c7.setBackground(Color.WHITE);
c7.setFont(new Font("Raleway", Font.BOLD, 12));
c7.setBounds(100,550,600,30);
add(c7);
getContentPane().setBackground(Color.WHITE);
setSize(850,820);
setLocation(250,0);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == submit){
String accountType = null;
if(r1.isSelected()){
accountType ="Saving Account";
}else if (r2.isSelected()){
accountType ="Fixed Account";
}else if (r3.isSelected()){
accountType ="Current Account";
}else if (r4.isSelected()){
accountType="Recurring Deposit Account";
}
Random random = new Random();
String cardnumber = "" + Math.abs((random.nextLong()% 90000000L)
+5040936000000000L);
conn.s.executeUpdate(query1);
conn.s.executeUpdate(query2);
Transaction.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Transactions extends JFrame implements ActionListener {
setLayout(null);
ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("icons/atm.jpg"));
Image i2 = i1.getImage().getScaledInstance(900,800, Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2);
JLabel image = new JLabel(i3);
image.setBounds(0,0,900,800);
add(image);
setSize(900,900);
setLocation(300,0);
setUndecorated(true);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == exit){
System.exit(0);
}else if (ae.getSource()== deposit){
setVisible(false);
new Deposit(pinnumber).setVisible(true);
}else if(ae.getSource() == withdrawl){
setVisible(false);
new Withdrawl(pinnumber).setVisible(true);
}else if (ae.getSource() == fastcash){
setVisible(false);
new FastCash(pinnumber).setVisible(true);
}else if (ae.getSource() == pinchange) {
setVisible(false);
new PinChange(pinnumber).setVisible(true);
}else if (ae.getSource() == balanceenquiry){
setVisible(false);
new BalanceEnquiry(pinnumber).setVisible(true);
}else if (ae.getSource() == ministatement) {
new MiniStatement(pinnumber).setVisible(true);
}
Deposit.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
this.pinnumber = pinnumber;
setLayout(null);
setSize(900,900);
setLocation(300,0);
setVisible(true);
}
}
}
Withdrawl.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
setSize(900,900);
setLocation(300,0);
setVisible(true);
}
}
}
PinChange.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
PinChange(String pinnumber){
this.pinnumber = pinnumber;
setLayout(null);
setSize(900,900);
setLocation(300,0);
setUndecorated(true);
setVisible(true);
}
if (!npin.equals(rpin)) {
JOptionPane.showMessageDialog(null, "Entered PIN does not match");
return;
}
if(npin.equals("")){
JOptionPane.showMessageDialog(null, "Please enter new PIN");
return;
}
if(rpin.equals("")){
JOptionPane.showMessageDialog(null, "Please re-enter new PIN");
return;
}
conn.s.executeUpdate(query1);
conn.s.executeUpdate(query2);
conn.s.executeUpdate(query3);
JOptionPane.showMessageDialog(null, "PIN changed successfully");
setVisible(false);
new Transactions(rpin).setVisible(true);
} catch(Exception e){
System.out.println(e);
}
}else {
setVisible(false);
new Transactions(pinnumber).setVisible(true);
}
}
public static void main(String args[]) {
new PinChange("").setVisible(true);
}
}
FastCash.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Date;
public class FastCash extends JFrame implements ActionListener {
setLayout(null);
ImageIcon i1 = new ImageIcon(ClassLoader.getSystemResource("icons/atm.jpg"));
Image i2 = i1.getImage().getScaledInstance(900,800, Image.SCALE_DEFAULT);
ImageIcon i3 = new ImageIcon(i2);
JLabel image = new JLabel(i3);
image.setBounds(0,0,900,800);
add(image);
setSize(900,900);
setLocation(300,0);
setUndecorated(true);
setVisible(true);
}
public void actionPerformed(ActionEvent ae){
if (ae.getSource() == exit){
setVisible(false);
new Transactions(pinnumber).setVisible(true);
}else {
String amount = ((JButton)ae.getSource()).getText().substring(3); // Rs 500
Conn c = new Conn();
try{
ResultSet rs = c.s.executeQuery("select * from bank where pin = '"+pinnumber+"'");
int balance = 0;
while(rs.next()) {
if (rs.getString("type").equals("Deposit")){
balance += Integer.parseInt(rs.getString("amount"));
}else{
balance -= Integer.parseInt(rs.getString("amount"));
}
}
setVisible(false);
new Transactions(pinnumber).setVisible(true);
}catch (Exception e){
System.out.println(e);
}
}
BalanceEnquiry.Java
package bank.management.system;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
BalanceEnquiry(String pinnumber){
this.pinnumber = pinnumber;
setLayout(null);
setSize(900,900);
setLocation(300,0);
setUndecorated(true);
setVisible(true);
}
}
MiniStatement.Java
package bank.management.system;
import java.awt.Color;
import javax.swing.*;
import java.sql.*;
MiniStatement(String pinnumber){
setTitle("Mini Statement");
setLayout(null);
try{
Conn conn = new Conn();
ResultSet rs = conn.s.executeQuery("Select * from login where pin = '"+pinnumber+"'");
while(rs.next()) {
card.setText("Card Number: " + rs.getString("cardnumber").substring(0, 4) +
"XXXXXXXX" + rs.getString("cardnumber").substring(12));
}
}catch(Exception e){
System.out.println(e);
}
try{
Conn conn = new Conn();
int bal = 0;
ResultSet rs = conn.s.executeQuery("Select * from bank where pin = '"+pinnumber+"'");
while(rs.next()) {
mini.setText(mini.getText() + "<html>" + rs.getString("date") +
" " + rs.getString("type") +
" " +
rs.getString("amount") + "<br><br><html>");
if (rs.getString("type").equals("Deposit")){
bal += Integer.parseInt(rs.getString("amount"));
}else{
bal -= Integer.parseInt(rs.getString("amount"));
}
}
balance.setText("Your current account balance is Rs " + bal );
}catch(Exception e){
System.out.println(e);
}
mini.setBounds(20,140,400,200);
setSize(400,600);
setLocation(20,20);
getContentPane().setBackground(Color.WHITE);
setVisible(true);
}
Screenshots
Login Page
SignUpOne Page
SignUpTwo Page
SignUpThree Page
Transaction Page
Deposit Page
Withdrawl Page
FastCash Page
PinChange Page
BalanceEnquiry Page