« Tüm yayınlar

Geliştirici, kendi SaaS başlangıç kitini rakip gibi denetledi

NuxtForge'un yaratıcısı, satışa çıkarmadan önce kiti sıfır klondan test etti; bozuk test koşucusu, açılmayan kurulum ve eksik kullanıcı gibi dört kritik hatayı ortaya çıkardı.

NuxtForge adlı Nuxt 4 + NestJS 11 tabanlı SaaS başlangıç kitinin geliştiricisi, ürünü satışa sunmadan önce kendi kitini bağımsız ve şüpheci bir alıcı gibi denetledi. Sıfır bir klon üzerinden yalnızca README'yi takip ederek yaptığı incelemede dört ciddi sorun ortaya çıktı: test komutu çalışıyor görünse de arkasında hiçbir test yapılandırması yoktu, taze bir klon Docker Compose ile hiç açılmıyordu (yanlış host adları, sessizce yok sayılan komutlar, yorum satırlarının bozduğu env değişkenleri ve bellek taşmasına yol açan bir SSR döngüsü), seed işlemi varsayılan tenant'ı oluşturuyor ama giriş yapılacak kullanıcı oluşturmuyordu, ve gerçek veritabanlarıyla çalışan e2e test paketi kurulduğunda tenant bağlamının zamanından önce sona ermesinden kaynaklanan gerçek bir izolasyon açığı yakalandı.

Bu son bulgu, yazının asıl argümanını oluşturuyor: mimari niyet (multi-tenancy tasarımının cross-tenant sızıntıları önlemesi) kanıt değildir, testler kanıttır. Düzeltmelerin ardından kit artık CI'da gerçek Postgres ve Redis konteynerleriyle çalışan, mock içermeyen bir e2e paketine ve birim testlerine sahip; tenant izolasyonu Prisma seviyesinde fail-closed olarak zorlanıyor, Stripe webhook'u imza doğrulama, Redis üzerinden idempotency ve sunucu taraflı tutar doğrulamasıyla güvence altına alınmış, ve tüm env değişkenleri boot anında Joi ile doğrulanıyor.

Mühendisler için önemli olan kısım, ürünün kendisinden çok izlenen yöntem: bir başlangıç kitini (kendi kitiniz dahil) satmadan veya satın almadan önce, temiz bir klon üzerinde, kendi makineniz olmayan bir ortamda, README'nin iddialarını gerçekten test ederek doğrulamak. Bu tür bir denetimden geçemeyen bir kit, vaat ettiği zamandan daha fazlasını, faiziyle birlikte geri alır.