About This Project
Bankist is a minimalist online-banking interface built entirely in vanilla JavaScript — no frameworks. Users log in with an account and PIN, transfer money to other accounts, request loans, and close accounts, while balances, movement history, and summaries are recomputed and re-rendered from application state after every action.
Key Highlights
- Login flow with per-account credentials and an automatic inactivity logout timer
- Transfers, loan requests, and account closure driven by a single state model
- Balances and summaries derived with map, filter, and reduce — no duplicated data
- Dates and currencies localized per account using the Intl API
Challenges & Solutions
The core discipline was keeping the DOM strictly derived from state: every transfer, loan, or sort re-renders the UI from the account data instead of patching the page ad hoc. The inactivity timer added a second layer of care — it has to reset on every user action and behave correctly when switching between logged-in accounts.