Yönetim Paneli — Patronun Masaüstü Paneli
2026'da tek kullanıcı için masaüstü uygulaması yazmak tuhaf bir tercihti ve bunu bilerek yaptım.
Rol
JavaFX'i ben seçtim, her ekranın nasıl davranacağına ben karar verdim, sonra yapımı backend'in sözleşmesine karşı yapay zekâ kodlama ajanlarıyla yürüttüm. Referans bu uygulama; iPad sürümü onu ekran ekran kopyalıyor ve üstüne bir şey eklemesine izin yok.
Stack

Overview
2026'da tek kullanıcı için masaüstü uygulaması yazmak tuhaf bir tercihti ve bunu bilerek yaptım. Java biliyorum, sistemde JavaScript olmayan bir istemci olsun istiyordum ve masaüstü istemci sunucuyla sessizce kod paylaşamıyor; bu yüzden REST API'nin ilk günden eksiksiz olması gerekti. Bu o uygulama: JavaFX, panelden araç listesine dokuz bölüm, backend'e Java'nın HttpClient'ıyla bağlanıyor. Tahsilat, kaydedilmeden önce hangi ayları kapatacağını gösteriyor, sonra firmanın kâğıt makbuzunu antetiyle ve imzasıyla kopyalayan bir makbuz basıyor. Sözleşmeler ve finans raporları da aynı yoldan gidiyor: WebView'da önizleme, sonra PDF.
Neler yapıyor
- IDiğer istemcilerle aynı kilitli REST sözleşmesi üzerinde dokuz bölüm
- IIKaydetmeden önce gösterilen, hangi ayları kapattığını söyleyen ödeme önizlemesi
- IIIWebView'da önizlenip PDF'e aktarılan makbuz, sözleşme ve finans raporu
- IVAntet, ofis telefonları ve personel cepleri git dışı bir dosyadan okunuyor. Hiçbiri kaynakta yazılı değil
- VTürkçe harfleri katlayan arama; sisli yazınca Şişli bulunuyor
Ekranlar










Teknik notlar
- IBastığı ilk sözleşmelerden biri teknisyenlerin adlarının yanında iki uydurma cep numarası taşıyordu. Git geçmişi temizlenirken gerçek numaraların yerine konmuş yer tutuculardı ve resmi bir belgenin üstünde tamamen inandırıcı duruyorlardı. Bütün adresler, telefonlar ve personel adları git dışı config/letterhead.properties dosyasına taşındı; commit'lenmiş bir şablonu var.
- IIArama toLowerCase kullanıyordu ve Türkçede sessizce başarısız oluyordu. Türkçe yerel ayarı olmayan bir JVM'de büyük İ, i artı birleşik bir noktaya dönüşüyor ve yazılan i ile hiç eşleşmiyor; aksan katlama da yoktu. Artık İ ve I sabit bir yerel ayarla küçültülmeden önce açıkça eşleniyor ve her karşılaştırmanın iki tarafı da katlanıyor.
- IIImacOS'ta bir modalı kapatıp aynı olayda bir diyalog açmak JavaFX'i donduruyor. Sözleşme oluşturmak bomboş beyaz bir onay penceresi gösteriyordu ve arkadaki liste hiç yenilenmiyordu. Kayıt sağlamdı; takılan arayüzdü. Aynı şekil üç yerde daha vardı, yeni personelin geçici şifresini gösteren tek diyalog dahil. Her biri artık diyaloğu Platform.runLater ile bir sonraki olaya erteliyor.
Neler öğrendim
Makbuzda patronun imzası bir süre yanlış kutuda durdu. Tahsilat makbuzunda parayı müşteri verir, firma alır; yani firma teslim alanın kutusuna, Teslim Alan'a imza atar. İlk sürüm imzayı Teslim Eden'e koymuştu. Bu, ancak hiç makbuz doldurmamışsanız yapacağınız türden bir hata.