https://github.com/rafaybbx/bank-management-system
A comprehensive Java-based banking system with a graphical user interface that simulates basic banking operations using object oriented programming approach and file handling for data persistence.
https://github.com/rafaybbx/bank-management-system
bank-operating-system java java-swing
Last synced: 9 months ago
JSON representation
A comprehensive Java-based banking system with a graphical user interface that simulates basic banking operations using object oriented programming approach and file handling for data persistence.
- Host: GitHub
- URL: https://github.com/rafaybbx/bank-management-system
- Owner: rafaybbx
- License: mit
- Created: 2025-02-06T18:17:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T19:30:12.000Z (over 1 year ago)
- Last Synced: 2025-06-04T12:47:19.653Z (about 1 year ago)
- Topics: bank-operating-system, java, java-swing
- Language: Java
- Homepage:
- Size: 1.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🏦 Bank Management System
A **comprehensive Java-based banking system** with a **graphical user interface (GUI)** that simulates basic banking operations. This application provides **separate interfaces for customers and administrators** to manage banking activities efficiently, using **file handling** for data persistence.
## 🚀 Features
### 👤 Customer Features
- **Account Management**
- Create new bank account
- Activate account
- Delete existing account
- Login to account
- **Transaction Operations**
- Deposit money
- Withdraw money
- Transfer money to other accounts
- Check account balance
- **Loan Management**
- Apply for loans
- View loan status
- Pay loan installments
- Check payable loan amount
### 🔑 Administrator Features
- **Secure Admin Panel**
- Protected login system
- Full administrative control over banking operations
- **Account Management**
- View and manage account details
- Provide checkbook facility
- Manage account statuses
- **Interest Rate Management**
- Set and update bank interest rates
- Modify interest policies
### 🔒 Security Features
- Password protection
- Input validation
- CNIC verification
- Phone number verification
- **Secure file handling for data storage**
## ⚙️ Technical Details
### 🛠 Built With
- **Java**
- **Swing** (for GUI)
- **File Handling** (File I/O) for data persistence
### 💻 System Requirements
- **Java Development Kit (JDK) 8+**
- **Minimum 2GB RAM**
- **Windows/Linux/MacOS operating system**
## 🏗 Installation
### 1️⃣ Clone the Repository
``` bash
git clone https://github.com/yourusername/bank-management-system.git
```
### 2️⃣ Navigate to the Project Directory
``` bash
cd bank-management-system
```
### 3️⃣ Compile the Java Files
``` bash
javac src/com/company/*.java
```
### 4️⃣ Run the Application
``` bash
java src/com/company/Runner
```
## 📌 Usage
### 🔹 For Customers
1. **Launch the application**
2. Select **"ACCOUNT HOLDER"** from the main menu
3. Choose from available options:
- Login to existing account
- Create new account
- Activate account
- Delete account
### 🔹 For Administrators
1. **Launch the application**
2. Select **"ADMIN"** from the main menu
3. **Login with admin credentials:**
- **Default Admin ID:** `1122`
- **Default Password:** `abd`
4. Access **admin features:**
- Update interest rates
- Manage checkbook requests
- View admin information
## 📁 File Structure
``` plaintext
src/com/company/
├── Account.java # Account class definition
├── AccountFileOperations.java # Account data management
├── Admin.java # Admin class definition
├── AdminFileOperations.java # Admin data management
├── GUI Classes # Various GUI implementation files
└── Runner.java # Main application entry point
```
## 💾 Data Persistence
- **Account information** is stored in `Accounts.txt`
- **Admin data** is stored in `Admin.txt`
- **File handling & object serialization** for data storage
## 🛠 Contributing
1. **Fork the repository**
2. **Create your feature branch** (`git checkout -b feature/AmazingFeature`)
3. **Commit your changes** (`git commit -m 'Add some AmazingFeature'`)
4. **Push to the branch** (`git push origin feature/AmazingFeature`)
5. **Open a Pull Request**
## 💡 Acknowledgments
- **Java Swing** for GUI components
- **File Handling (File I/O)** for data persistence
- **Object-Oriented Programming (OOP) Principles**
## 📞 Support
For support, **email** `rafaycs21@gmail.com` or **create an issue** in the repository.
## ✨ Authors
- **Abdul Rafay**
## 📌 Version History
- **1.0.0**
- Initial Release
- Basic banking features
- Admin panel implementation
## 📜 License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.