The Bank Management System is a simple console-based application developed in Java as part of the Object-Oriented Programming in Java (OOPJ) course at C.V. Raman Global University, Bhubaneswar.
It demonstrates how object-oriented concepts such as classes, inheritance, encapsulation, and polymorphism can be used to design and implement a real-world banking system.
This project provides a streamlined way for managing customer accounts, handling deposits, withdrawals, and checking account balances β simulating basic banking operations efficiently.
- Account creation with admin authentication
- Deposit and withdrawal operations
- Balance inquiry and account details display
- PIN-based customer security
- Simple text-based user interface
- Real-time transaction tracking within the session
- Language: Java
- IDE (Recommended): IntelliJ IDEA / Eclipse / VS Code
- Database: Not used (data stored temporarily in memory)
- Platform: Console-based
- Object-Oriented Programming (OOP)
- Data encapsulation and abstraction
- Control flow and exception handling
- User input and validation
- Modular function design
-
Clone or download this repository.
-
Open the project in your preferred IDE.
-
Make sure JDK 8 or later is installed.
-
Compile and run the file:
javac BankManagementSystem.java java BankManagementSystem
-
Follow the on-screen instructions to:
- Create a bank account
- Deposit or withdraw money
- Check balance or account details
- Admin PIN:
1234 - Customer PIN:
123456
These can be modified within the source code for added customization.
- Admin creates an account using admin PIN.
- Customer logs in using their 6-digit PIN.
- Customer performs transactions (Deposit / Withdraw / Check Balance).
- System displays updated transaction details.
- Integration with a database (MySQL / SQLite) for persistent storage
- GUI development using JavaFX or Swing
- Multi-customer support
- Transaction history logging
- Enhanced security and error handling
This project demonstrates how object-oriented programming can be used to model a functional banking system. It emphasizes design clarity, modularity, and ease of maintenance while laying a foundation for more complex, database-driven applications.
---
Would you like me to tailor the README for **GitHub formatting** (badges, visuals, table of contents, and screenshots placeholders)? It would make it look more polished for portfolio use.