Şirketin ana pazarlama panelinde, uzun geçmişi ve çok sayıda katkıcısı olan bir React kod tabanında yaptığım işler: kaydın yanlış markaya gitmesini durduran bir koruma, 11 dashboard için tek boş durum sistemi, gönderim saati ısı haritalı bir app push dashboard'u ve global arama kutusu.
847commit, Eki 2023 – Eyl 2026
119oluşturulan dosya
11dashboard birleştirildi
228EN/TR anahtarı eklendi
Deneyin
Panelden dört parça
"Yanlış marka koruması" ile başlayın: bir sekmede markayı değiştirip diğerinde kaydetmeyi deneyin. Sonra korumayı kapatın.
panel.example · sentetik veriEtkileşimli demo
Etkileşimli demo için JavaScript gerekiyor. Marka uyumsuzluğunu yakalayan iki panel sekmesi, ortak boş durumlu dashboardlar, push gönderim saati ısı haritası ve kategorili global arama gösteriyor.
Uydurma marka ve sayılarla yeniden kuruldu. Canlı panel React 18, Redux Toolkit, rsuite, antd, Chart.js ve i18next ile yazıldı.
Sorun
Ekip çoğu zaman farklı sekmelerde birkaç marka açık tutuyor. Oturum bir sekmede marka değiştirdiğinde, başka bir sekme hâlâ eski markayı gösterip yeni markaya kaydedebiliyordu.
Bunun çevresinde panel dashboard dashboard büyümüştü: farklı yükleme mantıkları, veri yokken boş kalan ya da yükleniyor durumundan çıkmayan grafikler, inline grafik yükseklikleri, karışık başlık seviyeleri ve çevrilmemiş metinler.
Rolüm
Bu kod tabanında üç yıl boyunca akıllı widget, kişisel arama, e-posta, app push, e-ticaret ve admin alanlarında özellik geliştirdim ve genişlettim. Bu sayfadaki parçaları ben oluşturdum:
Bir çalışma alanını panele aktaran admin bridge ve markası sunucu oturumuyla ya da başka bir sekmeyle uyuşmayan sekmeyi durduran oturum koruması
ChartContainer ve NoDataPlaceholder; düzeltilmiş yükleme mantığı ve 228 çeviri anahtarıyla 11 dashboard'a yayıldı
App push dashboard'u: çizgi ve pasta grafikler, gönderim saati ısı haritası, özet kutular, kampanya sonuçları
Kategorili açılır menülü global arama ve tek parça route dosyasını özellik modüllerine bölmek
Mühendislik kararları
Zor olan neydi, ne yaptım
Kullanıcıyı değil sekmeyi durdur
Koruma ekrandaki markayı diğer sekmelerle ve sunucu oturumuyla karşılaştırıyor. Uyuşmazlıkta kaydın geçmesine izin vermek yerine sekmeyi kaplayıp yenileme istiyor. Bir veri bütünlüğü hatası, oluştuğu yer olan arayüz katmanında düzeltildi.
"Veri yok" için tek bileşen
Her dashboard artık grafiklerini aynı kapsayıcıya sarıyor ve aynı yer tutucuyu gösteriyor. Aynı turda ters çalışan yükleme bayraklarını düzelttim, grafik yüksekliklerini CSS'e taşıdım ve başlıkları standartlaştırdım.
Dokunduğunu çevir
Dashboard turu İngilizce ve Türkçe için 114'er anahtar ekledi; taşıdığım her metin çevrilebilir hale geldi.
Özelliğe göre route'lar
Tek bir route dosyası her şeyi kapsayacak kadar büyümüştü. E-posta, kişisel arama, öneriler, akıllı widgetlar ve web push için modüllere böldüm; sonraki özellikler daha küçük farklarla geldi.
Gönderim saati için ısı haritası
Push dashboard'u açılmaları gün ve saate göre çiziyor, yanında toplamlar ve kampanya tablosu var. Isı haritası backend saatlik açılmaları verene kadar örnek veriyle çalışıyor.
Küçük, incelenebilir değişiklikler
Çok kişinin commit attığı bir yerde değişiklikleri özelliğe dar tuttum, branch kurallarına uydum ve hata izlemenin bildirdiği çökmeleri ilgisiz ekranlara dokunmadan düzelttim.
Çözmeye değer bir problemin mi var?Birlikte çözelim