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.
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.
We designed a time-based banking platform with the following core goals:
- 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
- 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)
- 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
- 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)
- π΅οΈ 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
- Java (Core)
- PostgreSQL π (Database)
- Object-Oriented Programming
- Design Patterns (Creational, Structural, Behavioral)