Skip to content

Niyatinagar/The-ChronoBank

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

β³πŸ’° The ChronoBank – A Smart and Secure Time-Based Banking System

Welcome to The ChronoBank, a futuristic, decentralized digital banking system where ⏱ time is money β€” literally! This Java-based project leverages Object-Oriented Programming and Design Patterns to build a secure, fair, and scalable time-based economy in the city of NeoHorizon.


🧩 Problem Statement

In NeoHorizon, time has replaced traditional currency. Citizens earn, spend, transfer, invest, and borrow time. But after a recent system upgrade, things went wrong:

  • ❌ Time accounts displayed negative balances
  • πŸ” Users were locked out of their time wallets
  • πŸ€‘ Wealthy citizens exploited loopholes
  • πŸ’£ The loan system malfunctioned with infinite or erased time

The ChronoBank Council has tasked our OOP engineering team to redesign the system to ensure security, fairness, and stability using Java and advanced software design principles.


πŸ› οΈ Project Requirements

We designed a time-based banking platform with the following core goals:

🎯 OOP Concepts

  • Encapsulation: Secure customer data and transactions
  • Inheritance: Support for account types like BasicTimeAccount, InvestorAccount, LoanAccount
  • Polymorphism: Flexibility in transaction operations – Transfer, Loan, Investment
  • Abstraction: Simplified APIs for operations

πŸ—οΈ Design Patterns Implemented

πŸ”§ Creational Patterns

  • Factory Pattern: Create different types of accounts dynamically
  • Singleton Pattern: Ensure a central, secure ledger of time transactions
  • Builder Pattern: Allow custom account configurations (e.g., interest rates)

🧱 Structural Patterns

  • Facade Pattern: Unified interface for complex banking operations
  • Adapter Pattern: Integrate old currency systems with the new time system
  • Decorator Pattern: Add features like time tax, rewards, or bonuses

πŸ” Behavioral Patterns

  • Observer Pattern: Alert users on low balance, fraud, and deadlines
  • Strategy Pattern: Multiple loan repayment models
  • Command Pattern: Undo/redo capabilities for transactions
  • State Pattern: Account status tracking (Active, Overdrawn, Frozen)

πŸ”’ Security & Extra Features

  • πŸ•΅οΈ Fraud Detection: Detect "time laundering" or rapid suspicious transfers
  • πŸ“ˆ Smart Loans & Investments: Auto-adjust interest with market conditions
  • πŸ” Access Control: Block risky transactions based on user risk scores

πŸš€ Technologies Used

  • Java (Core)
  • PostgreSQL 🐘 (Database)
  • Object-Oriented Programming
  • Design Patterns (Creational, Structural, Behavioral)

About

developed in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 96.2%
  • HTML 3.8%