C++ Systems Project / Source & local demo
EasyBank.
An offline C++17 banking-workflow simulator demonstrating account state, transactional ledgers and persistent storage.
An offline, fictional banking workflow that explores persistent ledgers and transactions.
READ THE CASE STUDY
APPLICATION SCREENSHOT The problem
An educational banking workflow is a useful way to practice handling state carefully. Deposits, withdrawals and transfers must keep balances and transaction histories consistent even when operations fail.
The implementation
EasyBank is an offline console-based simulator written in C++17 with SQLite persistence. It models fictional savings/checking accounts, account sign-in, deposits, withdrawals, transfers, transaction history and an administrative workspace.
Monetary amounts are stored using integer cents rather than floating-point values. Account balance changes and their ledger entries are grouped into database transactions. Password handling uses per-user salted PBKDF2-HMAC-SHA256 hashes, and the app includes simple account locking and interest-credit rules.
Engineering decisions
- Local database persistence without a web service.
- Atomic balance and ledger updates, with rollback on failure.
- Parameterized SQL and explicit account-state checks.
- Self-test support and a repeatable Windows build/run script.
- User-focused terminal flows for account and administrator actions.
Outcome and scope
A testable educational banking simulator, not a real bank, real-money transfer service, secure commercial financial platform or windowed GUI. The public portfolio version uses SQLite; other classroom versions are not presented as this release.
Technologies & disciplines
PROJECT DOCUMENTATION
VISUAL STORY.
Real screenshots from the public project repository.
Screenshots linked from the corresponding public GitHub repository; external availability may change.