Skip to content

anishr-aj/Bank-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

βœ… Account Management System

A simple console-based bank account management system written in Java. Demonstrates OOP concepts (classes, encapsulation), collections, and basic banking operations: create account, deposit, withdraw, transfer, and list accounts.

✨ Features

βž• Create new accounts (account number, holder name, initial balance)

πŸ’° Deposit money to an account, you can use multiple accounts.

βž– Withdraw money from an account (with basic validation)

πŸ” Transfer money between accounts

πŸ” Show a single account's details

πŸ“‹ Show all accounts stored in memory

⚠️ Graceful input handling to avoid crashes (InputMismatchException)

πŸ›  Tech Stack

🧾 Language: Java

βš™οΈ Runtime: Java 8+ (Java 11+ recommended)

πŸ“¦ No external libraries β€” uses standard Java packages

πŸ“ Project Structure AccountManagementSystem.java // contains Account, AccountManager and main class README.md output.png

ℹ️ All classes are bundled in one file for simplicity. You can split them into Account.java, AccountManager.java, and AccountManagementSystem.java later.

▢️ How to compile & run

Open terminal/command prompt in project folder and run:

compile

javac AccountManagementSystem.java

run

java AccountManagementSystem

If you split classes into separate files:

javac *.java java AccountManagementSystem

To create and run a JAR (optional):

compile

javac *.java

create jar

jar cfe AccountManagementSystem.jar AccountManagementSystem *.class

run jar

java -jar AccountManagementSystem.jar

🧾 Usage example (sample session) ---- Account Management System ----

  1. Create Account
  2. Deposit
  3. Withdraw
  4. Transfer
  5. Show Account
  6. Show ALL Accounts
  7. Exit Enter your choice: 1 Enter Account No: A001 Enter Holder Name: Rahul Kumar Enter Initial Balance: 5000 Account created successfully!

Enter your choice: 2 Enter Account No: A001 Enter Amount to Deposit: 1500 Deposited: 1500.0

Enter your choice: 6 Account No: A001 | Holder: Rahul Kumar | Balance: 6500.0

Exiting... Goodbye!

πŸ–Ό Example output

Console output of AccountManagementSystem

βœ… Validation & error handling

πŸ›‘ Catches InputMismatchException to handle invalid numeric inputs without crashing.

βœ… Validates amounts (e.g., deposit > 0, withdraw <= balance).

πŸ—„ Data is stored in memory using a HashMap β€” all data is lost when the program exits.

πŸš€ Possible improvements (TODO)

πŸ’Ύ Persist accounts to disk (JSON, CSV, or serialization) so data persists between runs.

πŸ” Add account authentication (PIN/password).

πŸ“‚ Split classes into separate files and add unit tests.

πŸ“ Replace System.out.println with logging.

πŸ–₯ Build a GUI (Swing/JavaFX) or a web UI (Spring Boot).

βš–οΈ Add concurrency control for multi-threaded use.

.gitignore suggestions *.class *.jar *.log .DS_Store

For full source code, you can mail me.

πŸ“ License

This project can be released under the MIT License. Add a LICENSE file with the full license text if you choose MIT.

πŸ‘€ Author

Anish Raj

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages