← Projelere Dön

Erişilebilirlik Odaklı Personel Paneli

Bu proje benim çalışma biçimimi en iyi gösteren örneklerden biri: Almanya'da devlete bağlı bir kurumun personel ve performans işlemlerini yöneten, büyük ve çok ekipli bir mühendislik organizasyonu içinde geliştirilen bir platform. Bu projede frontend yüzeyine teknik yön verdim ve uçtan uca test katmanının tamamını sahiplendim.

Projenin bağlamı. Ürün, backend'te Symfony, frontend'de Vue.js kullanıyordu. Kurum genelinde kullanılan bu sistemde binlerce personel verisi yönetiliyor; teknik tarafta ise yaklaşık 14 kişilik bir ekip çalışıyordu. Versiyon 1 aktif olarak kullanılmaya başlandı, versiyon 2 tarafında ise revizeler ve kalan işler devam ediyor.

Erişilebilirlik bu işin çekirdeğiydi. Ben dahil olduğumda API kullanımı, stil yapısı, sayfa işleyişi ve erişilebilirlik açısından sistemin baştan ele alınması gerekiyordu. Frontend'i doğru tab gezintisi, doğru focus davranışı, screen reader uyumlu etkileşimler ve %250 zoom seviyesine kadar kullanılabilir kalan düzenler etrafında yeniden kurdum. Buradaki amaç yalnızca standartlara yaklaşmak değil, görme engelli kullanıcıların gerçek iş akışlarını sorunsuz kullanabilmesini sağlamaktı.

Sahiplenişim. Tüm sayfaları aynı kod mimarisine çektim: store dosyaları backend bağlantılarını yönetiyor, controller katmanı sayfa davranışını topluyor, pages yapısı ise tablo ve form yüzeylerini ayrıştırıyordu. Ortak prop yapısına sahip yeniden kullanılabilir tablo bileşenleri oluşturarak yeni sayfa geliştirmeyi, revizeleri ve bakım süreçlerini çok daha öngörülebilir hale getirdim.

Test altyapısı. Nightwatch E2E suite'i sadece CI checkbox'ı değildi. Sisteme giren bir kullanıcının yapabileceği işlemler için pozitif ve negatif user flow'ları kapsayacak şekilde testler yazdım; böylece kod değişikliklerinden doğan hataları artık çoğu zaman ben değil, testler yakalamaya başladı.

Test katmanını da ayrıca refactor ettim. Yaklaşık 20 sayfa ve bunlara bağlı 100'e yakın yeni test eklenmesine rağmen; test izolasyonu, ortak helper dosyaları, tekrar eden browser aç-kapa akışlarının sadeleştirilmesi ve pause yerine waitForElement gibi açık bekleme stratejileri sayesinde suite süresini yaklaşık 20-25 dakikadan 8 dakikaya indirdim. CI odaklı bir akışta bu kazanç her gün fark yaratıyor.

Liderlik ve teslimat. Kod yazmanın ötesinde frontend standartlarını belirledim, teknik yönü çizdim ve hem E2E otomasyonu hem manuel testlerle erişilebilirliği mümkün olan en yüksek seviyeye taşımaya çalıştım. Proje aynı zamanda beni yoğun Git flow, çatışma üretmeye açık paralel ticket yapısı ve karmaşık CI/CD süreçleri içinde çok daha dikkatli ve sistematik çalışmaya zorladı; bu da işin önemli bir parçasıydı.