İçeriğe atla
Sami Aktaş

35 kayıt · 22 Eylül 2026

EN

Girişime göre defter

Payda

35 kayıt — Payda için gerçek tarihli ilerleme notları.

Esnaf modu gitti, kişisel panel geldi

Bugün Payda'yı sadeleştirdim: esnaf modunu ve ona bağlı tahsilat, veresiye, üyelik, e-ticaret gibi yan sistemleri önce yedekleyip sildim, yalnız yüzdelik sistem kaldı. Ardından herkesin kendi adını ve fotoğrafını her projede aynı gösterebildiği bir Profilim alanı ekledim. Üstüne YouTube, Instagram, TikTok, Threads ve X için günden güne takip kurdum; artık tek satırda 'bugün toplam kaç beğeni, kaç yorum aldın' görünüyor. Hepsi yine tek Claude üyeliğiyle, testleri yeşil geçerek canlıya çıktı.

Kopilot tek akışa indi, sami skill denetiminden geçti

Kopilot sayfası iki paralel akış taşıyordu; tek kutu, tek gönder tuşu, tek sonuç kartına indirdim ve 12 uzman modlu denetimin bulduğu 20'den fazla açığı (idem anahtarı, metin kaybı, kaydırma, balon-kasa örtüşmesi, uzun sohbette hükmün kaçması) dört turda kapattım. Her tur 13 kapı ve tarayıcı testinden geçti, canlıya çıktı. Hepsi tek Claude Pro üyeliğiyle, kanıtsız tek satır iddia yok.

Numaranın yanına tutar, kartın üstüne 'Şimdi ne oldu?', sohbetten fiyat listesi ve banka kendiliğinden doluyor

Sami'nin üç isteğini tek akışa bağladım: ayrı 'Gelir ekle' tuşu kalktı, müşteri numarasının yanında tutar var; müşteri bulununca kartın en üstünde 'Şimdi ne oldu?' — satış olduysa geliri kaydet, olmadıysa almadı notu — önceki kayıtlar altta. En keyiflisi: yapıştırılan sohbette hangi hazır metin (fiyat listesi, IBAN) geçiyorsa fiyat listesi ve banka alanı kendiliğinden doluyor, yapay zekâ çağrısı yok, ücretsiz. Kural gevşemedi: eşleşme yoksa soru yine sorulur, elle seçim ezilmez. 16 yeni test, 320px'te taşma sıfır, hepsi Claude ile.

Tasarımı canlıya birebir taşıdım: sol menü, tek sütun Özet, Ayarlar grupları

Claude Design'da çizdiğim yenileme canlıda yarım kalmıştı; bugün planı adım adım uyguladım: masaüstünde sol menü ve sayfa başlığı, Özet'te KPI şeridi ile yan yana Kasa ve Ödenecekler, Defter'e tür seçicili Kayıtlar tablosu, Ekip'e hakediş tablosu, Ayarlar'a sol grup listesi. Her parça 13 test kapısından ve parolasız ekran ölçümünden (320px'ten 1280px'e taşma sıfır) geçti. Bir dağıtımı kendim durdurdum — testler koşarken bir belge düzenledim, deploy.sh yakaladı — ve temiz ağaçla yeniden çıkardım. Hepsi Claude ile.

Süper app araştırması: Payda iyi bir defter, ama defter

Sistem oturdu, bugün tek satır kod yazmadım — "süper app" fikrini araştırdım. Önce bugünkü envanteri çıkardım: 29 uç, 8 koleksiyon, 1.400 kontrol; para tarafı (4-göz onayı, işlem anında mühürlenen kurlar, ortak carisi, dönem kapatma, denetim izi) gerçekten sağlam. Ama tek cümlelik gerçek şu: Payda'daki her sayı, başka bir yerde olmuş bir şeyin insan eliyle yazılmış kaydı — satış başka yerde oluyor, reklam başka yerde harcanıyor, para başka yere düşüyor. Süper app kalıbının üç sütununa baktığımda kimlik güçlü çıktı, ödeme yalnızca kayıt düzeyinde, mini-app platformu ise bu ölçekte gereksiz; benim bağlamımda süper app "defterden tezgâha geçmek" demek. Beş aday yön listeledim — konuşma katmanı, banka ekstresi eşleştirme, biriken veriye soru soran bir zekâ katmanı, çalışan için kurulabilir uygulama ve bildirim, çoklu ekip — ve karar vermeden önce kendime üç soru bıraktım.

Ürün Stratejisi · Araştırma · Süper App · Yol Haritası

Pasife alma düğmesi geldi, iki test kapısı kör çıktı

Dört maddelik kısa bir tur: üye kartına pasife alma düğmesi (ceza için de tatil için de aynı düğme — pasif üye projeyi listesinde göremiyor, veri yazamıyor, ama hakedişi ve geçmişi duruyor, pasifken bile ödeme yapabiliyorum), çalışanın reklam hesabı atamasının davetten sonra da değiştirilebilmesi, reklam hesabı kartında "bugüne kadar harcanan" satırı ve elle payment girişinin tamamen kapatılması — ödeme kayıtlarını artık yalnız sistemin kendi akışları üretiyor. Denetçi onay metnindeki yanlış vaadi yakaladı: "pasife alınan üye giriş yapamaz" yazıyordu, oysa hesap kapanmıyor, düşen şey proje erişimi; metin gerçeğe çekildi ve test artık yanlış vaadin yokluğunu da ölçüyor. Turun asıl bulgusu ise iki kapının kör olmasıydı — dünkü parite kapısı bayat istisnayı fark edemiyordu ve şablon bağ kapısı 16 iç listenin satır özelliklerini hiç denetlemiyormuş; kapsam 75 bloktan 87'ye çıktı. Dokuz mutasyonun dokuzu da kapıları adıyla kırdı; commit aa18bb2, 1.400 kontrol yeşil.

Üye Yönetimi · Reklam Hesapları · Test Kapıları · Emülatör Testi · Cloud Functions

Backend'de olan her şey arayüzde var mı: parite kapısı ve ölü kod süpürmesi

"Backend'de olan her şey frontend'de var mı?" sorusunu iki yönlü bir denetime çevirdim: her uç, çok-op'lu uçların her bir op'u ve sunucunun yazdığı alanlar tek tek "arayüzden ulaşılabilir mi" süzgecinden geçti. Uç düzeyinde 26 callable'ın 26'sı da bağlıydı, ama alt-op düzeyinde beş gerçek boşluk çıktı — reklam hesabının adı ve uyarı eşiği kuruluştan sonra değiştirilemiyordu, yanlış girilen hatırlatma silinemiyordu, eski satışları taşıyarak kategori yeniden adlandıran uç hiç tetiklenemiyordu; hepsini bağladım. Ölü kod tarafında silinen her parça grep kanıtlıydı (eski vardiya modelinin rotationQueue kalıntısı, yazılıp hiçbir yerde okunmayan lastProduct alanı, ölü CSS ve state) ve bağımsız bir denetçi ajan hem silinenleri hem "kullanılıyor" denilenleri rastgele örneklemle doğruladı. Asıl kazanç tek seferlik temizlik değil: "her uç ya arayüzden çağrılır ya gerekçeli istisnadır" kuralı artık teste bağlı — kapıyı üç sabotajla sınadık, üçünde de suçluyu adıyla yakaladı. Aynı turda satış girişine opsiyonel kısa not alanı geldi (müşteri kartındaki alım satırında görünüyor, boş bırakılınca hiç yazılmıyor); commit 85bfb79, 1.322 kontrol yeşil.

Ölü Kod Temizliği · Parite Kapısı · Cloud Functions · Kod Denetimi · Test

Vardiya sırasını elle dizme, 40 gün vade hatası ve bölünen müşteri kayıtları

Dün akşam başlayan beş maddelik tur sabah canlıya çıktı. Vardiya listesinde her satıra ↑/↓ taşıma okları geldi — sıra artık elle dizilebiliyor ve taşıma kimsenin çalışma saatini değiştirmiyor, yalnız devir dizilişini değiştiriyor. "40 gün" diye gördüğüm vade hatası gerçekti ve sandığımdan derindi: formül şablonun ödenmemiş ilk ayını atlıyordu, üstüne Öde'ye basınca sunucu "bu ay zaten ödendi" diye reddediyordu; kural sunucu ve istemciye birebir aynı yazıldı, 1.344 kombinasyonluk ızgara testinde red penceresi sıfır çıktı. Müşteri kayıtları da kaybolmuyormuş, bölünüyormuş — aynı numara "0555…", "+90 555…" gibi farklı yazımlarla ayrı dokümanlara düşüyordu; sunucu artık hepsini tek kanonik anahtara indiriyor ve canlıdaki 121 müşteri kaydı kopyala-doğrula-sil ile taşındı, sıfır kayıp. Grup bazlı kalan pastası ve ödeme formunun üstündeki "hangi gruptan öde" rehberi de aynı dağıtımda; commit fe7122d, 1.212 kontrol yeşil.

Vardiya Rotasyonu · Vade Hesabı · Veri Migrasyonu · Firestore · Test

İş modeline göre köklü sadeleştirme canlıda

Payda bugün en büyük değişimini yaşadı: iş modeline uymayan her şey silindi, kalan her şey tek kurala oturdu. Komisyon artık tek model — satıştan brüt yüzde; maaş ve satış-başı modeller, görev atama, bankacı giriş rolü ve genel gider kategorileri tamamen kaldırıldı. Satış girişi dört zorunlu alana indi (hesap, banka, kategori, üslup), müşteri kaydına numara bazlı engelleme geldi (taciz eden müşteri hangi hesaptan gelirse gelsin sorguda 🚫 ENGELLİ çıkıyor), görevlerin yerini hesaba bağlı tarihli hatırlatmalar aldı. Silmenin en zor kısmı kod değil kanıttı: her silinen parçanın gerçekten çağrılmadığı grep kanıtıyla raporlandı, bağımsız bir denetçi ajan rastgele örneklemle doğruladı ve test takımı yeni modele göre yeniden yazıldı — 1140 kontrol yeşil. Canlıdan da dört ölü fonksiyon silindi; biri açık kalsaydı dört-göz onayını atlatma yolu olurdu.

Sadeleştirme · Ölü Kod Temizliği · 4-Göz Onayı · 1140 Test

E-posta doğrulama şeridi ve teslimat çalışması

Doğrulanmamış e-postayla girenlere artık panelde bir güvenlik şeridi çıkıyor: 'Doğrulama e-postası gönder' tek tık. Hızlı işlem formundaki kapanma hatası da düzeltildi; ikisi de canlıda doğrulandı. Sıradaki iş belli: e-postalarımızın spam klasörüne düşmemesi için teslimat (SPF/DKIM) çalışmasına başladık.

E-posta Doğrulama · Güvenlik · UX

Canlıda kullanıcı testi: giriş ve e-posta onayı düzeldi

Sentetik bir hesapla siteye gerçek kullanıcı gibi girdim: kayıt ol → çıkış → tekrar giriş → işlem. Testin yakaladıkları aynı gün kapandı: yeni üyeye doğrulama e-postası gitmiyordu, onaysız üyelik mümkündü, şifre sıfırlama sonrası giriş takılıyordu — hepsi düzeltildi. Arayüzde sağ üstteki zil kalktı; bildirimler Özet'e taşındı ('Okundu' ve 'Tümünü okundu' ile), gelir/gider formu artık yerinde açılıyor. 8 maddelik düzeltme listesinin tamamı canlıya alındı.

Firebase Auth · E-posta Doğrulama · UX

Vardiya rotasyonu: +1 saat kayar kuyruk canlıda

Vardiya sistemi artık ekipteki herkesi sırayla döndürüyor: her döngüde sıradaki kişinin vardiyası +1 saat kayıyor, kimin ne zaman geleceği 9 döngü önceden görünüyor. Panele 'şu an vardiyada' rozeti ve rotasyon sekmesi (şu anki/sıradaki kişi + bildirimler) eklendi. 16'sı gecesi başlayıp sabaha karşı bitirdik; 182 testin tamamı yeşil, deploy edildi.

Rotasyon Kuyruğu · Bildirimler · 182 Test

Gerçek app bottom-sheet: + yerinde form açıyor

Haklı bir eleştiriyi düzelttim: 'Ekle' butonu boş bir yönlendirme ekranı açıyordu, hepsi özete gidiyordu — gereksizdi. Artık '+' butonuna basınca telefon uygulamalarındaki gibi aşağıdan gerçek bir işlem formu (bottom sheet) yükseliyor: Gelir/Gider seç, tutarı gir, kaydet — anında kaydediyor ve kapanıyor, hiçbir yere gitmiyorsun. Yerinde, akıcı, native app hissi. Masaüstünde ortalı bir kart, mobilde tam genişlik olarak çalışıyor. 166 test yeşil, canlıda.

Bottom Sheet · Mobil UX · Test

Telefon uygulaması hissi: alt navigasyon + büyük butonlar

Payda'ya gerçek bir telefon uygulaması hissi verdim: üstteki sekmeler yerine artık altta sabit, yüzen bir navigasyon çubuğu var — Özet, Defter, ortada kocaman '+' Ekle, Ekip ve Ayarlar. Ekle'ye basınca 'Ne eklemek istiyorsun?' diye iki dev kart çıkıyor (Gelir / Gider) ve tek dokunuşla forma götürüyor. Baş parmakla tek elle kullanım çok kolaylaştı. Masaüstünde de yüzen bir bar olarak şık duruyor. Hepsini emülatörde deneyerek doğruladım, 166 test yeşil, canlıda.

Alt Navigasyon · Mobil UX · Test

Sekmeli panel (buton mantığı) + ölü kod temizliği

Payda'nın uzun kaydırmalı yönetici panelini buton mantıklı sekmelere böldüm: üstte sabit üç büyük sekme (Özet · Defter · Ekip & Vardiya), her biri diğerini gizliyor — artık aşağı kaydırmadan bölüm değiştiriyorsun, kişisel vardiya/görev özeti hep üstte. Sonra da daha önce kaldırdığım özelliklerden (banka preseti, bankacı bakiye-yükleme paneli) geriye kalan ölü kodu temizledim — 16 kullanılmayan bağ ve 3 ölü fonksiyon gitti; bankacı ve yönetici ekranlarını canlı deneyerek beyaz-ekran/hata olmadığını doğruladım. Masaüstü+mobil, 166 test yeşil.

Sekmeli Arayüz · Refactor · Test

Görsel derinlik + dokunsal butonlar + canlı deneyim testi

Bu kez Payda'yı gerçekten kullanarak test ettim: emülatörde açıp her bölümü tıkladım, ayarları açtım, arayüzden gelir/gider ekledim — hepsi çalıştı, konsol hatası yok. Şikayet edilen 'düz/flat' görünümü giderdim: KPI kutularına üstte accent çizgisi ve katmanlı gölge, kartlara yumuşak derinlik ve hover kalkışı, tüm butonlara dokunsal his (üstüne gelince parlama, basınca içeri gitme), bölüm başlıklarına accent nokta ekledim. Sadece CSS ve metin; iş mantığına dokunmadım, 166 test yeşil, masaüstü+mobil sağlam.

Tasarım · CSS · Deneyim Testi

Vardiya takip sistemi + para dalgalanması düzeltmesi

Bugün Payda'ya vardiya takip sistemi ekledim: dönen vardiyaları (örn. 12:00 başla, her gün +1 saat kay) otomatik hesaplıyor, herkes kendi ve ekibin saatlerini görüyor, vardiyaya yarım saat kala kırmızı geri sayım uyarısı çıkıyor. Bir de sinir bozucu bir hatayı düzelttim: sabit giderin fiyatı canlı döviz kuruyla oynuyordu — artık girdiğin tutar girdiğin para biriminde sabit duruyor. Yönetici/ortak için 'hangi bankada kesintiden sonra ne kadar kaldı' ekranı ve almayan müşteriye hangi hesaptan denendiğini yazma alanı da geldi. 166 kontrol yeşil, masaüstü ve mobilde doğruladım.

Vardiya · Döviz Sabitleme · Test

Bankacı e-postasız, ortak payı otomatik, banka karmaşası kalktı

Payda'yı daha da sadeleştirdim: bankacıyı artık e-posta olmadan sadece isim ve yüzdeyle ekleyebiliyorsun (biz bilelim yeter; daveti sonra göndeririz). Ortak payı artık net kârdan otomatik ve her ortak KENDİ yüzdesini görüyor — önceden hep ilk ortağın yüzdesi görünüyordu, bunu düzelttim. Kafa karıştıran 'banka hesabı ödetme' preset'ini tamamen kaldırdım. Hazır metinler artık tek dar kolon yerine ekranı dolduran grid. 162 otomatik kontrol yeşil, canlıda.

Sadeleştirme · Kâr Payı · Test

Gereksizleri attım: notlar, bankacı karmaşası, sabit üslup

Bugün Payda'yı sadeleştirdim: gereksiz bulunan 'notlar' özelliğini tamamen kaldırdım; satış ve görüşme üslubunu artık sabit (yumuşak/nötr/sert) seçenekler yerine kişi kendi yazıyor; bir müşteriye olumsuz dönüş kaydederken 'hangi banka gösterildi' de tutuluyor; ve bankacının kafa karıştıran 'bakiye yükle/gider gir' panelini kaldırdım — gider artık yalnız yönetici/ortak işi. 159 otomatik kontrol yeşil, canlıda.

Sadeleştirme · UX · Test

Ortak onayı genişledi, çevrimiçi göstergesi, güvenlik taraması

Bugün Payda'da 4 iş: (1) müşteri numarasını aratınca hangi hesaptan hangi bankaya ödediği de görünüyor. (2) Ortak varken artık sadece kâr payı değil; üye %'si değiştirme, üye çıkarma ve proje silme de diğer ortağın onayına düşüyor — kimse tek başına yapıyı bozamıyor. (3) Ortaklar çalışan/ortakların çevrimiçi olup olmadığını yeşil noktayla görüyor. (4) OWASP Top 10 güvenlik taraması: erişim kontrolü, XSS, başlıklar, enjeksiyon — hepsi temiz; kalan iki madde (2FA, bot koruması) panelden açılacak. 163 otomatik kontrol yeşil, canlıda.

4-Göz Onayı · OWASP · Test

Satış üslubu + kıl müşteri takibi + genel görev

Bugün Payda'nın mini-CRM'ini büyüttüm: artık her satışın hangi üslupla (yumuşak/sert) ve hangi yöntemle yapıldığı kaydediliyor. Daha önemlisi, satın ALMAYAN müşterileri de kaydedebiliyoruz — 'bu numarayı şu hesaptan yumuşak tonla denedik, almadı, olumsuz döndü' gibi. Böylece aynı kıl müşteri başka bir hesaptan tekrar denendiğinde geçmişi görünüyor. Bir de tek tuşla herkese görev atama ekledim. 142 otomatik kontrol yeşil, canlıda.

Mini-CRM · Görevler · Test

Tüm roller için yetki denetimi + 3 düzeltme

Bugün Payda'yı beş rolün (yönetici, ortak, bankacı, çalışan, pay ortağı) gözünden uçtan uca denetledim: her rol verilen yetkinin dışına çıkmayı denedi ve sistem hepsini reddetti. Bu sırada bir açık buldum — yetkisiz bir çalışan ekip notlarını silebiliyordu; kapattım. Ayrıca hiç işe yaramayan bir yetki anahtarını temizledim ve bankacının varsayılan yetkisini işine göre daralttım. Otomatik güvenlik testini 104'ten 131 kontrole çıkardım, hepsi yeşil, canlıya aldım.

Yetki Denetimi · Güvenlik · 131 Test

Yeni arayüzde panel çalışıyor

Faz 2'nin en büyük parçası düştü: yönetici paneli artık yeni React arayüzünde — KPI'lar, dönem ve para birimi anahtarları, geri sayımlı yaklaşan ödemeler, hızlı gelir/gider, defter ve CSV. Hepsini emülatörde gerçek akışla doğruladım: satış ekledim, sildim, kirayı ödedim, hatalı girdinin reddedildiğini gördüm. Kanıt dosyası ve denetim kapısı yeşil; canlı site hâlâ eski arayüzde, geçiş güvenli ilerliyor.

React · TypeScript · Emülatör Testi

Yeni React arayüzünün ilk ekranları çalışıyor

Faz 2'de somut ilk adım: Payda'nın yeni React+TypeScript arayüzü ayağa kalktı — giriş, üye olma, şifre sıfırlama ve Projelerim ekranı birebir taşındı. En güzel kısmı: yeni arayüz backend'le artık tipli bir sözleşme üzerinden konuşuyor; ilk projeyi bu kanaldan oluşturup emülatörde uçtan uca doğruladım. Canlı site hâlâ eski arayüzde, geçiş ekran ekran ve testli ilerleyecek.

React · TypeScript · Tip Sözleşmeleri

Faz 1 bitti: repo düzeni, CI ve tip sözleşmeleri

Payda'yı büyük yeniden yapılanma planına soktum ve ilk fazı bitirdim: proje artık gerçek bir git deposu; kök çalışma alanı, mimari/veri modeli dokümanları ve GitHub Actions test kapısı hazır. Eski prototipler arşive kalktı, açıklı paketler güncellendi (yüksek riskli açık kalmadı) ve 104 test hâlâ yeşil. Üstüne Faz 2'nin ilk taşını koydum: frontend ile backend'in ortak dili olacak tip sözleşmeleri. Tek Claude oturumu, tam şeffaflık.

Git · CI/CD · Tip Sözleşmeleri

Yaklaşan ödemelere geri sayım

Bugün Payda'ya küçük ama günlük hayatta en çok bakılacak şeylerden birini ekledim: sabit aylık ödemeler artık geri sayımla görünüyor — 'kira, her ayın 5'i, 4 gün sonra ödenecek' gibi. Panelin tepesinde Yaklaşan Ödemeler kartı en yakın ödemeyi üste alıyor; bugün ödenecekler kırmızıya dönüyor. Matematiğini birim testiyle doğrulayıp yayınladım.

Geri Sayım · Ödemeler · Birim Testi

Ödeme onayı + backend'i modüllere böldüm

Bugün ortakların çalışan/bankacı ödemelerini parça parça ya da tek seferde yapabilmesini ekledim; ikinci ortak varsa değişiklik ona onaya düşüyor (4-göz). Sonra 800 satırlık backend'i tek dosyadan lib/core + handlers/ (proje, işlem, üye, finans, görev, paylaşım, zamanlanmış) diye modüllere böldüm — davranış birebir aynı kaldı, 104 test hâlâ yeşil. Ölü kodları da attım. Hep tek Claude oturumu.

Cloud Functions · Modüler Mimari · Test

Mini-CRM, görev sistemi ve tekrarlı gider otomasyonu

Bugün Payda'ya gerçek bir mini-CRM ekledim: bir numarayı aratınca kişinin alıcı olup olmadığı, ne aldığı ve satışı KİMİN girdiği satır satır çıkıyor; müşteri notu da tutuluyor. Yanında gerçek görev sistemi (yönetici atar, çalışan 'Görevlerim'den tamamlar), aylık sabit giderler için otomatik işleyen zamanlanmış fonksiyon ve bir kâr-payı bug'ı düzeltmesi geldi. Test paketi 84/84 yeşil, hepsi tek Claude oturumunda.

Mini-CRM · Görev Sistemi · Zamanlanmış Fonksiyon

Lansman öncesi büyük tarama: 10 eksik, 10 çözüm

Bugün Payda'yı lansmana hazırlarcasına baştan taradım: dönem filtresi, CSV dışa aktarım, satış silmede tam ters kayıt, KVKK sayfaları, hesap paneli, PWA manifesti ve daha fazlası — bulduğum 10 eksiğin 10'unu da aynı gün kapattım. Güvenlik turunda CSV formül enjeksiyonunu ve çift-silme yarışını da yakalayıp düzelttim; test paketi 68/68 yeşil. Hâlâ tek Claude oturumu, hâlâ build in public.

KVKK · PWA · CSV Dışa Aktarım · Güvenlik Denetimi

Müşteri kaydı (mini-CRM) ve modüler yetkiler

Satış girerken artık isteğe bağlı müşteri numarası ve ürün eklenebiliyor; bir numarayı aratınca kimin ne aldığı ve hangi hesaptan alındığı görünüyor. Müşteri bilgisi kişisel veri sayıldığı için yalnızca yetkisi olan görebiliyor. Yetkilendirme tamamen modüler hale geldi: rol ekranı belirliyor, her yetenek tek tek açılıp kapanabiliyor (örneğin bankacıya sadece bankacılık, istenirse reklam da). 61 entegrasyon testinin tamamı geçti; backend ve arayüz canlıya alındı.

Cloud Functions · Firestore Rules · Güvenlik (PII) · Entegrasyon Testi

3'ü 1 arada: tasarım, güvenlik, SEO

Bugün Payda'ya üç uzman ajanı birden saldım: tasarımcı OKLCH token'lı, mobil uyumlu ve erişilebilir bir tasarım sistemi kurdu; güvenlik uzmanı OWASP denetiminde yüzde alanlarını ve tutar sınırlarını sıkılaştırdı; SEO ajanı da hreflang, favicon ve WebSite schema'sını ekledi. Aralarda müşteri kaydı (mini-CRM) ve tamamen modüler yetki sistemi de canlıya çıktı — 61 güvenlik testi hâlâ yeşil. Hepsi tek Claude oturumunda, ben sadece yön verdim.

Tasarım Sistemi · OWASP Denetimi · SEO

reCAPTCHA ile bot koruması

Payda'nın giriş ve kayıt akışına reCAPTCHA ekleyerek otomatik/bot kötüye kullanımına karşı koruma getirdik.

reCAPTCHA · Güvenlik

Rol yetkileri ve proje yönetimi

Kimin neyi görüp neye müdahale edebileceğini tanımladık: çalışan, partner ve bankacı rolleri. Proje oluşturma/silme akışını güvenli onaylarla düzelttik; hata ayıklama ve güvenlik denetimi planını faz faz uyguladık.

Firebase · Rol/Yetki · Güvenlik

Banka seviyesinde güvenlik ve veri izolasyonu

Giriş, e-posta doğrulama ve şifre sıfırlamayı çalışır hale getirdik ve tüm özellikleri gerçek backend'e bağladık. En önemlisi mimariyi 'çalışan başkasının verisini göremez/değiştiremez' olacak şekilde rol-izolasyonlu kurduk — banka standartlarına yakın, tüm yazma işlemleri sunucu tarafında.

Firestore Rules · Firebase Auth · Güvenlik

Payda serüveni başlıyor

Proje yönetim ve muhasebe platformu Payda'yı Firebase'e kurduk: veritabanı, kimlik doğrulama ve barındırma. Tüm veri altyapısını sıfırdan oluşturduk.

Firebase · Firestore · Firebase Auth