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.

Project Info

  • Category: Web App
  • Year: 2024
  • Status: Completed
View on GitHub

Technologies Used

JavaScript (ES6+) HTML CSS Intl API