Back to Projects
TOOLSCOMPLETE▶ PLAYABLE
ATM Banking System
OOP inheritance-based banking simulator with checking, savings, credit accounts, and a "Rob the Bank" easter egg.
SOLO DEVELOPER · Aug 1, 2024
// LIVE DEMO
A banking ATM simulator originally built in C++ demonstrating object-oriented programming with inheritance and polymorphism. Features three account types — Checking (fee after 3 withdrawals), Savings (withdrawal limit), and Credit (spending cap with penalty) — each overriding the base Withdraw method with unique business rules. Includes a humorous "Rob the Bank" easter egg. Re-implemented as an interactive web component for this portfolio.
// TECH STACK
LANGC++OOPInheritancePolymorphismLANGJavaScriptLIBReact
Contributions
- 01Designed polymorphic account hierarchy with BaseAccount, CheckingAccount, SavingAccount, CreditAccount
- 02Implemented per-account business rules using virtual method overrides
- 03Built menu-driven console interface with input validation
- 04Ported to TypeScript/React with interactive UI and transaction history
Technical Highlights
- ▸Virtual dispatch for polymorphic Withdraw behavior across account types
- ▸Encapsulated state with withdrawal counters and spending trackers
- ▸Dynamic type identification for account-specific messaging