Skip to content

UML-based Java banking application showcasing OOP principles with account types, transactions, receipts, and test coverage. Built with Maven for easy setup and execution.

Notifications You must be signed in to change notification settings

Meltcus/JavaBankUML

Repository files navigation

🏦 BankUml: Banking System Simulation

Welcome to BankUml, a Java-based banking application designed to simulate core banking operations such as account management, transactions, and receipts.

This project demonstrates the use of Object-Oriented Programming (OOP) principles, including Inheritance, Encapsulation, Abstraction, and Polymorphism, strictly following the provided UML diagram.

📌 Features

  • Account Management: Create and manage multiple types of bank accounts.
  • Transaction Handling: Simulate payments and generate receipts.
  • UML-Driven Design: Class structure directly follows the given UML diagram.

📊 Diagram

BankUml Hierarchical Diagram

This diagram demonstrates the classes within the BankUml project template. Inheritance relationships are shown with solid line arrows, whilst implied relationships are shown with dashed line arrows. This is only a reference for the template, and you are free to change the application architecture as you see fit!

🚀 How to Run

Make sure you have the following installed:

  • Java
  • Maven (if Lombok is missing or not working correctly)
  1. Clone the repository:
git clone https://github.com/M-PERSIC/BankUml.git
cd BankUml
  1. Compile the code:
javac -cp "libs/*" bank/*.java 
  1. Run the program:
# Linux/MAC
java -cp ".:libs/*" bank.Main
# Windows
java -cp ".;libs/*" bank.Main

To redownload the Lombok jar:

mvn dependency:copy-dependencies -DoutputDirectory=./libs

Originally developed by @shayanaminaei

About

UML-based Java banking application showcasing OOP principles with account types, transactions, receipts, and test coverage. Built with Maven for easy setup and execution.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors