Skip to content

Bank Account Management System - A Java-based banking application implementing SOLID principles and clean code practices. Features include savings and checking accounts, interest calculations, transaction history, and secure money operations.

Notifications You must be signed in to change notification settings

mustafa-bircan/Bank_Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

Bank Account Management System

A robust Java-based banking system that implements SOLID principles and design patterns.

Project Overview

This system manages bank accounts, transactions, and customer data with a focus on clean architecture and maintainable code.

Features

  • Account Management (Savings, Checking accounts)
  • Transaction Processing
  • Customer Management
  • Report Generation
  • Data Validation
  • Exception Handling

Technical Details

Architecture

  • MVC Pattern
  • Builder Pattern
  • Strategy Pattern
  • Factory Pattern

Design Principles

  • SOLID Principles
  • Clean Code
  • DRY (Don't Repeat Yourself)
  • KISS (Keep It Simple, Stupid)

Project Structure

src/ ├── model/ ├── builder/ ├── controller/ ├── view/ ├── service/ ├── exception/ ├── util/ └── main/

Getting Started

Prerequisites

  • Java JDK 11 or higher
  • Any Java IDE (IntelliJ IDEA, Eclipse, etc.)

Installation

  1. Clone the repository
git clone [your-repo-url]
  1. Open the project in your IDE
  2. Run BankApplication.java

Usage

The system provides following operations:

Account Operations

  1. Create new account
    • Savings Account
    • Checking Account
  2. View account details
  3. Make transactions
    • Deposit
    • Withdraw
    • Transfer

Report Operations

  1. View account statement
  2. View transaction history
  3. Generate monthly report

Menu Options:

  1. Create Account
  2. View Account
  3. Make Transaction
  4. Generate Report
  5. Exit

Contributing

## Contributing
1. Fork the project
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

### Coding Standards
- Follow Java naming conventions
- Write clear commit messages
- Add comments for complex logic
- Write unit tests for new features

License

This project is licensed under the MIT License - see the LICENSE file for details

Author

## Author
[Mustafa BİRCAN]
- GitHub: [mustafa-bircan]
- LinkedIn: [linkedin.com/in/mstfbrcn]

About

Bank Account Management System - A Java-based banking application implementing SOLID principles and clean code practices. Features include savings and checking accounts, interest calculations, transaction history, and secure money operations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages