Skip to content
md ~/projects/banka-yonetimi
Project archive

2026

Bank Manager

  • Java
  • JavaFX
  • AtlantaFX
  • SQLite
  • Bouncy Castle (Argon2id)
  • Apache PDFBox
  • JUnit
  • jpackage
  • Inno Setup

Overview

A two-sided desktop banking app that runs locally, with a branch panel and a customer panel: atomic IBAN transfers, currency exchange, time deposits, spending insights and PDF receipts.

01 · Problem

In banking software the smallest bug loses money. Rounding errors, a half-finished transfer or one customer reaching another customer's account are not acceptable.

02 · Solution

I stored amounts as whole kuruş, ran every transfer in a single database transaction and put the balance check inside the UPDATE statement. Branch staff and customers sign in to separate panels of the same app; permissions are checked in the service layer, passwords are hashed with Argon2id, and IBANs and ID numbers are validated with their check digits.

03 · Outcome

All 43 tests pass, and the balance never goes negative even with 20 parallel transfers to the same account. The app is in Turkish and English with light and dark themes, ships as a Windows installer and can be tried right away with sample data.