MAT Bank began in 2022 as a JavaFX course project at MIST, built by me, Mehmil Khan and Farheen Mahjarin Trisha. In 2026 I went back to it. Version 2.0 keeps the same screens and ideas and replaces everything underneath.
What changed
| In 2022 | In v2.0 |
|---|---|
| Text files | SQLite, with versioned migrations |
| Money as doubles | Exact integer poisha, in one ledger with running balances |
| Plain-text passwords | bcrypt hashes, lockout after 5 attempts and an audit log |
| Transfers | One all-or-nothing database transaction |
The money change is the one I'd tell anyone to make early. Floating point is fine for a lot of things and wrong for balances, so amounts are whole integers of the smallest unit, and every balance comes from the ledger.
Tested and shipped like a real app
- 84 JUnit tests, including UI flows that run on a virtual display
- Native
deb,dmgandmsiinstallers built by GitHub Actions - PDF statements, scheduled payments, live exchange rates and search
- One window with light and dark themes, and an admin view










Built with Java 21, JavaFX 21, SQLite, JUnit and GitHub Actions.