Kilavuz Neden Var
Bu yazı, Kilavuz’un hangi sorunu çözmek için doğduğunu ve tasarım kararlarının nedenlerini anlatıyor. Ürün sayfasındaki özellik listesinden farklı olarak, burada “neden” kısmına odaklanıyoruz.
Çıkış noktası
Bir ekip içinde yapılandırılmış notlar tutmak istediğinizde elinizde iki yaygın seçenek var:
- Belge düzenleyici: Serbest metin olarak soruları alt alta yazarsınız; hiyerarşi görsel olarak bozulur, yeniden sıralamak zahmetlidir.
- Proje yönetim aracı: Her soru bir “ticket” olur; bu sefer ağaç yapısı kaybolur, bilgi dağılır.
Bu iki uç arasında kalan bir boşluk var: hiyerarşiyi koruyarak serbest metin yazmak, taşımak ve başka formatlara dönüştürmek. Kilavuz, bu boşluğu doldurmak için doğdu.
Tasarım ilkeleri
Ürünü tasarlarken üç ilkeye bağlı kaldık:
- Veri yapısı önce: Hiyerarşi, kullanıcının gözünden değil,
veritabanının gözünden birinci sınıf bir yapı. Bu yüzden
parentId,sortKeyvedepthalanları modelin temelinde yer alıyor. - Yumuşak silme: Bir soruyu silmek, altındaki bilgiyi
kaybetmeniz anlamına gelmemeli.
softDeleteQuestioneylemi, alt soruları yetim bırakmadan hedef kaydı damgalar. - Sahip olunan tek dışa aktarma formatı: Markdown, ekibimizin ve müşterilerimizin zaten bildiği bir format. JSON ve OPML yol haritasında; ilk günden itibaren ek bir biçim yükü getirmedik.
Türkçe neden varsayılan?
Ekibimiz Türkçe konuşuyor; müşterilerimizin önemli bir kısmı da Türkçe çalışıyor. Ürünün Türkçe varsayılanla doğması, kendi işimizi yaparken en az dirençle karşılaşmak anlamına geliyordu. İngilizce seçeneği, gerçek bir eksiği kapatmak için değil, ürünü uluslararası kullanıma açık tutmak için eklendi. Dil seçimi, bir veri olarak değil, bir UI tercihi olarak saklanıyor; bu sayede sunucu tarafı verileri dil-agnostik kalıyor.
Neyi özellikle yapmadık?
- SDK form kontrollerini Türkçeye çevirmedik. Wasp SDK’sının iç form bileşenleri İngilizce kalır; bu istisna bilinçli bir kapsam kararıdır.
- Sunucu hata iletilerini çevirmedik. API hata gövdeleri İngilizce kalır; bunlar geliştiriciye yöneliktir.
- Kişiselleştirilmiş bir fatura şablonu yazmadık. PDF faturalar, Stripe’ın şablonundan alınır.
Bu “yapmadık” listesi, kapsamımızın sınırlarını netleştiriyor. Ürünü kullanırken bir sınırla karşılaşırsanız, bunun bilinçli bir karar mı yoksa eksik bir özellik mi olduğunu sormak için bize ulaşabilirsiniz.
Bundan sonra
Önümüzdeki aylarda ürünü gerçek kullanım verileriyle şekillendireceğiz. Yol haritasını ve değişiklik günlüklerini blog üzerinden paylaşmaya devam edeceğiz.