A console-based Bank Management System developed using Java and Object-Oriented Programming (OOP) concepts. The application provides core banking operations such as account creation, login, balance inquiry, account details, fund transfer, bank statements, and account closure.
The Bank Management System is a Java-based console application created to demonstrate the practical use of Object-Oriented Programming concepts through a banking use case.
The system provides a terminal-based interface through which users can create and manage bank accounts and perform common banking operations.
- Create a new bank account
- Generate an account number
- Login using account number and password
- View account details
- Check account balance
- Transfer funds
- View bank statement / transaction history
- Close an account
- Log out from the system
- Exit the application
- Programming Language: Java
- Programming Paradigm: Object-Oriented Programming (OOP)
- Input Handling: Java
Scanner - File Handling: Java I/O
- Data Handling: Local text files
- Version Control: Git and GitHub
Bank-Management-System-by-Java/
│
├── SRC/
│ ├── Main.java
│ ├── Login.java
│ ├── Creation.java
│ ├── Deletion.java
│ ├── AccountDetails.java
│ ├── BalanceInquiry.java
│ ├── Transaction.java
│ └── BankStatement.java
│
├── db/
│ ├── credentials.txt
│ ├── userDB.txt
│ └── balanceDB.txt
│
├── Docs/
│ ├── ProjectReport.pdf
│ └── screenshot.pdf
│
└── README.md
| File / Folder | Purpose |
|---|---|
SRC/ |
Contains all Java source-code files |
db/ |
Contains the local text files required by the application |
credentials.txt |
Stores account authentication information |
userDB.txt |
Stores customer account information |
balanceDB.txt |
Stores account balance information |
Docs/ |
Contains project documentation and supporting files |
ProjectReport.pdf |
Detailed project report |
screenshot.pdf |
Project screenshots / supporting visuals |
README.md |
Project setup and execution instructions |
Before running the project, make sure the following software is installed on the system.
The project requires a Java Development Kit because both the Java runtime and Java compiler are needed.
Verify the Java runtime:
java -versionVerify the Java compiler:
javac -versionBoth commands should display an installed Java version.
A current LTS JDK or another compatible modern JDK is recommended.
Open Terminal and navigate to the directory where you want to store the project.
Clone the repository:
git clone https://github.com/[YOUR USER_NAME]/Bank-Management-System-by-Java.gitEnter the project directory:
cd Bank-Management-System-by-JavaAfter entering the project directory, verify the required folders are present:
lsThe project should contain:
SRC/
db/
Docs/
README.md
You can also verify the Java source files:
ls SRCAnd verify the required database files:
ls dbThe db directory should contain:
credentials.txt
userDB.txt
balanceDB.txt
The project should be run from the repository root so that the application's relative file paths resolve correctly.
From the project root directory, compile all Java source files using:
javac -d out SRC/*.javajavac— invokes the Java compiler.-d out— places compiled.classfiles inside theoutdirectory.SRC/*.java— compiles all Java source files stored inSRC.
If compilation is successful, the command completes without errors and creates the out directory.
After successful compilation, run the application using:
java -cp out MainThe application will launch in the terminal and display the main banking interface.
The starting menu provides options for:
Type 1: Login
Type 2: Create Account
The basic execution flow of the application is:
Start Application
│
▼
Main Menu
│
┌───┴───────────┐
│ │
▼ ▼
Login Create Account
│ │
└───────┬───────┘
▼
Banking Menu
│
┌───────┼────────┬──────────┬──────────┐
▼ ▼ ▼ ▼ ▼
Balance Details Transfer Statement Closure
After authentication or successful account creation, the user is taken to the banking menu where the available banking operations can be selected.
For an evaluator who already has Java installed, the complete process is:
git clone https://github.com/[YOUR USER_NAME]/Bank-Management-System-by-Java.gitcd Bank-Management-System-by-Javajavac -d out SRC/*.javajava -cp out MainThe application will then start in the terminal.
Additional project documentation is available in the Docs/ directory.
Docs/ProjectReport.pdf
The project report provides detailed documentation related to the project.
Docs/screenshot.pdf
This file contains supporting screenshots of the project and its execution.
The project demonstrates the practical use of important Object-Oriented Programming concepts, including:
Separate Java classes are used to represent different banking operations and system responsibilities.
Interfaces are used to define method contracts for specific functionality such as account creation and authentication.
Related data and behavior are organized within appropriate classes.
Interfaces are used to define required behavior while implementation details remain within their respective classes.
Different banking operations are separated into dedicated classes, making the source code easier to understand and maintain.
Debasish6569