Skip to content

zypherison/java-banking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💰 Banking System (Console + GUI)

A Java + SQLite banking system featuring both a console workflow and a Swing GUI, designed to demonstrate clean data access, safe transactions, and a minimal-but-complete banking domain model.


✨ Highlights

  • Create customers and open accounts.
  • Deposit and withdraw funds with balance validation.
  • View customers, accounts, and balances.
  • SQLite-backed persistence with prepared statements.
  • Two interfaces: CLI and GUI.

🧰 Tech Stack

  • Java (JDK 8+)
  • JDBC
  • SQLite
  • Swing (GUI)

🚀 Quick Start

1) Get the SQLite JDBC driver

Download the latest sqlite-jdbc JAR from Maven Central and place it in this folder.

2) Compile and run (CLI)

javac -cp ".;sqlite-jdbc-<version>.jar" BankSystemConsole.java
java -cp ".;sqlite-jdbc-<version>.jar" BankSystemConsole

3) Compile and run (GUI)

javac -cp ".;sqlite-jdbc-<version>.jar" BankSystemGUI.java
java -cp ".;sqlite-jdbc-<version>.jar" BankSystemGUI

🧭 Architecture Overview

Database (SQLite)

  • users(id, name, email)
  • accounts(id, user_id, balance)

Flow

  • Input → validation → JDBC prepared statement → SQLite → formatted output.

📸 Sample Output (CLI)

1. Add User
2. Create Account
3. Deposit
4. Withdraw
5. View Accounts
6. Exit
Choose option: 1
Enter name: Alice
Enter email: alice@example.com
User added successfully.

🗺️ Roadmap

  • Add transaction history and statements.
  • Input validation and email normalization.
  • Export reports (CSV/PDF).
  • Modularize into DAO + service layers.

🙌 Acknowledgments

Open to improvements and extensions. Contributions welcome.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages