Skip to content

raam214/java-banking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Java Console Banking System

Production-style console banking app built with Java 17, JDBC, and MySQL — featuring layered architecture, custom exceptions, and real database persistence.

Java Maven MySQL JDBC Architecture


🚀 What It Does

  • ✅ User registration and login with validation
  • ✅ Create Savings and Current accounts
  • ✅ Deposit, Withdraw, Transfer funds
  • ✅ View full transaction statement
  • ✅ Real-time MySQL database persistence
  • ✅ Custom exception handling
  • ✅ Unique reference number per transaction

🛠️ Tech Stack

Layer Technology
Language Java 17
Build Tool Maven
Database MySQL 8
Persistence JDBC
Logging Logback
Testing JUnit 5

🏗️ Project Architecture

src/main/java/com/banking/ ├── model/ Account · Transaction · User ├── dao/ AccountDAO · TransactionDAO · UserDAO ├── service/ AccountService · AuthService ├── util/ DBConnection · InputValidator · AccountNumberGenerator ├── exception/ Custom exceptions ├── cli/ BankingCLI (menu system) └── Main.java Entry point


⚙️ Run Locally

Prerequisites

  • Java 17
  • MySQL 8
  • Maven

Steps

1. Clone the repo

git clone https://github.com/raam214/java-banking-system.git
cd java-banking-system

2. Set up MySQL database

CREATE DATABASE banking_system;

Then run schema.sql in MySQL Workbench.

3. Create config file

Create src/main/resources/db.properties:

db.url=jdbc:mysql://localhost:3306/banking_system?useSSL=false&serverTimezone=UTC db.username=root db.password=your_password

4. Build and run

mvn clean install
java -jar target/banking-system-1.0.0.jar

📸 Demo

╔══════════════════════════════════════╗ ║ JAVA CONSOLE BANKING SYSTEM ║ ║ Built by Ram Dukare ║ ╚══════════════════════════════════════╝ ========== MAIN MENU ==========

Register Login Exit

========== BANKING MENU ==========

Create Account Deposit Withdraw Transfer View Statement View My Accounts Logout


👨‍💻 Author

Ram DukarePortfolio

About

Java Console Banking System | JDBC | MySQL | OOP | Maven | Layered Architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages