Internet Banking Project Report
Internet Banking Project Report
Requirements in project:-
Functional Requirement :-
Customer
The valid customer on internet banking has a set of requirements he/she does on internet banking. These
requirements are offered on next pointes.
Login
A customer to be able to use this system, he/she has to enter username and password which he/she has created
before and been saved in the database in the Login page. This function might be a customer or an Admin also.
The input in this function most be valid username and valid password and the output if the user is valid user then
he/she will get into a page which can makes has/her transaction, but if the user made wrong in username or
password then he/she will be invalid user and will see a message “Alert Invalid Username and Password” and to
login again.
View Account
View Account allows to a customer to view today’s up-to the minute balance information on deposit
(saving/current), credit card, etc. The customer can also view transaction history with retention period up to a
maximum of 90 days. Within this feature, the customer can request for account such as “view online, by e-mail or
by post option. But the customer most be logged in the internet banking.
Transfer Funds
The customer must be logged into Banking System to be able to make his/her transaction for transfer funds.
Transfer Funds allows customer to transfer funds between authorized accounts – own personal accounts.
Requested transfer take place immediately or at a selected future date specified by customer. The customer can
save up to a maximum of 10 accounts and update or delete the account details. All the outstanding future
transfers are recorded in a table. The customer can enquire whether there is any funds transfer pending and. when
the customer selects the Transfer funds, the system will display Menu to select Transfer Funds function for transfer
funds or Transfer History function for display the transaction he/she done
Non-functional Requirements:-
Performance Requirements
Increase Customer Satisfaction Internet banking system must allow customers to access
banking services 24 hours a day, 365 days a year with minimum downtime period for
backup and maintenance.
Expand Product Offerings The new services allows bank to capture a larger percentage
of their customers’ asset base. The internet banking system will provide facilities for
bank to offer new services and products onto its homepage.
Reduce Overall Costs It will help to reduce a bank’s costs in two fundamental ways: it
minimize the cost of processing transactions and reduces the number of branches
required to service an equivalent number of customer
Security Requirements
User Account ID and Password (PIN) protection occurs at the first level within the
Internet Banking System. To access Internet Banking, users are required to enter an
Account ID and password. Without these, access to the Internet Banking System is
denied. Special password characters may be imposed by the Bank to provide a greater
degree of security. The following characters may be used as required :!@#$%^&*()_+-
=[]{}|\;:’”,<.> /? To further increase the level of security, the bank may impose a periodic
change of passwords. If the Password Change option is imposed, a warning message will
be displayed when logging-onto Internet Banking.
Sign-off Button When an end-user is finished with Internet Banking, they should click
the Sign-off button before going anywhere else on the Web. This ends the Internet
Banking session.
Failed Log-on Attempts As an added security feature, the Internet Banking System is
denied access after a pre-determined number of failed log-on attempts. If users have
been locked out due to exceeding the pre-determined number of log-on attempts, the
users must contact the Bank in order to be reinitialized.
Encryption In addition to password protection, we ensures server authentication by
using the latest techniques of data encryption. Data encryption is a way of translating
data into a form that is unintelligible without a deciphering mechanism.
UML Diagrams:-
Code:-
package Front_view;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.io.FileWriter;
import java.sql.*;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.Timer;
public class Front_view extends javax.swing.JFrame {
public Front_view() {
initComponents();
Displaydate();
Displaytime();
}
void Displaydate()
{
java.util.Date d396 =new java.util.Date();
SimpleDateFormat s=new SimpleDateFormat("YYYY-MM-dd");
date.setText(s.format(d396));
}
void Displaytime()
{
new Timer(0, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
java.util.Date d396 =new java.util.Date();
SimpleDateFormat s=new SimpleDateFormat("hh-mm-ss a");
time.setText(s.format(d396));
}
}).start();
}
private void initComponents() {
lblUsername = new javax.swing.JLabel();
lblPass = new javax.swing.JLabel();
txtUsername = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
txtPassword = new javax.swing.JPasswordField();
jLabel3 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();
date = new javax.swing.JLabel();
time = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setPreferredSize(new java.awt.Dimension(650, 275));
lblUsername.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
lblUsername.setText("USERNAME : ");
lblPass.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
lblPass.setText("PASSWORD:");
jButton1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
jButton1.setText("Login");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
jButton2.setText("Forget Password");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}}) ;
jButton3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
jButton3.setText("Creat New Account");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Verdana", 2, 12)); // NOI18N
jLabel1.setText("Do not have an account... ?");
txtPassword.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseMoved(java.awt.event.MouseEvent evt) {
txtPasswordMouseMoved(evt);
}
});
txtPassword.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtPasswordActionPerformed(evt);
}
});
jButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Front_view/eye2.jpg")));
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
date.setFont(new java.awt.Font("Verdana", 3, 11)); // NOI18N
date.setText("Date");
time.setFont(new java.awt.Font("Verdana", 3, 11)); // NOI18N
time.setText("Time");
jLabel2.setFont(new java.awt.Font("Castellar", 3, 18)); // NOI18N
jLabel2.setText("Welcome ! to National bank Of india");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
CreateAccount c = new CreateAccount();
c.setVisible(true);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
Forget_Pass f = new Forget_Pass();
f.setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String sql ="select UserName,Password from student_details where UserName=? and Password=?";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/banking", "root",
"Abhijeet@123");
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1, txtUsername.getText());
pstmt.setString(2, new String(txtPassword.getPassword()));
ResultSet rs = pstmt.executeQuery();
if(rs.next())
{
JOptionPane.showMessageDialog(null, "Welcome"+txtUsername.getText(), "Successful login",
JOptionPane.PLAIN_MESSAGE):
Login l = new Login();
l.setVisible(true);
}
else
JOptionPane.showMessageDialog(null, "Invaid Username & password");
File f1 = new
File("C:\\Users\\Abhijeet_\\Documents\\NetBeansProjects\\Banking_project","1.txt");
FileWriter fw = new FileWriter (f1);
fw.write(String.valueOf(txtUsername.getText()));
fw.close();
}
catch(HeadlessException | ClassNotFoundException | SQLException | IOException e)
{
JOptionPane.showMessageDialog(null, e);
}
finally{
dispose();
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
txtPassword.setEchoChar((char)0);
}
private void txtPasswordMouseMoved(java.awt.event.MouseEvent evt) {
txtPassword.setEchoChar('*');
}
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equsals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Front_view.class.getName()).log(java.util.logging.Level.SEVER,null);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Front_view.class.getName()).log(java.util.logging.Level.SEVERE,null);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Front_view.class.getName()).log(java.util.loging.Level.SEVERE, null);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Front_view.class.getName()).log(java.utillogging.Level.SEVERE null);
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Front_view().setVisible(true);
}
});
}
private javax.swing.JLabel date;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel lblPass;
private javax.swing.JLabel lblUsername;
private javax.swing.JLabel time;
private javax.swing.JPasswordField txtPassword;
private javax.swing.JTextField txtUsername;
}
Software Requirements:-
Hardware
RAM :- 4 GB
Memory :- Max 512MB
Processor :- Intel Pentium or Above
Software
Operating System :- Windows 7 or Above
Language :- Java
Database :- MySql
IDE :- Netbeans