Skip to content

aprigoreanu20/Java-Banking-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Banking System

This application simulates an e-banking system, offering a streamlined user experience, complete with features such as bank account creation, fund deposits, cashback rewards, cash withdrawals, money transfers and more. It is built to handle large inputs efficiently, similar to real-world banking systems that process large-scale datasets daily.

Features

  • Account Management:
    • open accounts, tailored to specific purposes: checking, savings or business
    • choose between multiple available currencies when account is created
    • set customized balance limit and interest rate
    • cash-in interest (for savings accounts)
    • grant access to privileged operations based on business role (for business accounts)
    • delete account when no longer needed
  • Deposits & Withdrawals
    • aids in managing money flow
  • Card Issuance & Management
    • creates a card, associated to an account, useful for online payments
    • generate virtual one-time cards with changing details for added security
    • delete card
  • User Plans:
    • customize user banking experience through tiered plan system
    • upon registering, all users start with the Standard Plan with the possibility of an upgrade by paying a fee
    • once upgraded, users are not allowed to downgrade their plan
    • Silver and Gold Plans grant better cashback offers and lower commission fees
    • Student accounts are exempt from transaction fees
    • Silver users are auto-upgraded to Gold when eligibility conditions are met
  • Online Payments
    • simple digital transactions, carried out by using a card
  • Bank Transfer:
    • fast transfers between two or more accounts
    • assign aliases to transfer destination accounts for convenience
    • enable split transfers: multiple accounts cover the same bill, equally or with custom amounts
  • Cashback Offers:
    • users can earn a small percentage of each transaction made
    • cashback is awarded either by the number of transactions made to the same merchant, or when a certain spending threshold is reached
    • stimulates user loyalty and motivates consumption
  • Account Reports:
    • users can query their accounts by generating reports
    • review previous transactions and unlock aditional insights through a set of analytics regarding spending habits

Tech Stack

  • Language: Java
  • Paradigm: Object-Oriented Programming
  • Data Format: JSON (used for input and output testing)
  • Design Patterns
    • Singleton: ensures a single instance of Bank for optimizing resource
    • Strategy: for implementing flexible behaviour

About

Java E-banking System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors