hasari-api / docs /LAUNCH_CHECKLIST.md
erdoganpeker's picture
v0.3.0 — multimodal vehicle damage MVP
e327f0d

Lansman Kontrol Listesi

MVP lansman günü öncesi her satırı kontrol et. Hepsinde YEŞİL olmadan canlıya çıkma.

Tarih: __________ Sorumlu: __________


🔧 Teknik Hazırlık

Backend

  • API tüm endpoint'leri çalışıyor (/health 200, /api/v1/inspect?mode=async 202)
  • Production ortamında deploy edildi (AWS/Azure/GCP)
  • HTTPS sertifikası geçerli, www ve apex yönlendirme doğru
  • Environment variable'ları production değerlerle dolduruldu (.env.production)
  • Database backup günlük otomatik
  • Redis ve S3 erişimleri doğru
  • CORS origin'leri production domainine kısıtlandı
  • Rate limiting aktif (en az 100 req/dk per API key)
  • Webhook signature doğrulaması (opsiyonel ama önerilir)

ML Modeli

  • Production modeli models/ altında, doğru sürüm
  • GPU instance üzerinde inference < 2s (p95)
  • Regression test suite ≥%85 pass
  • Soğuk başlangıç warm-up tamamlanıyor (60s içinde)
  • Sentry'de son 24 saatte 0 kritik hata

Mobil

  • iOS TestFlight'ta canlı (review onaylı)
  • Android Google Play Internal Testing'de canlı
  • Production API URL kullanılıyor (staging değil)
  • App icon, splash screen, app store ekran görüntüleri hazır
  • App store açıklama metinleri Türkçe + İngilizce
  • Sentry sürüm release tag bağlı
  • Crash-free user oranı son 24h ≥%99

🛡️ Güvenlik

  • API key'ler environment'tan okunuyor, kod içinde değil
  • Database credential'ları rotated, eski rapora yok
  • HTTPS-only, HTTP-to-HTTPS redirect var
  • S3 bucket policy: public-read sadece resimler için
  • Plaka/VIN anonimleştirme aktif
  • CORS sadece kendi domainlere açık (* yasak)
  • Penetration test temel kontrolleri (OWASP top 10) yapıldı
  • Secret scanning CI'da aktif

⚖️ Yasal / KVKK

  • KVKK aydınlatma metni landing page'de + uygulamada
  • Kullanıcıdan açık rıza alınıyor (görüntü işleme, AB sunucusu)
  • Veri silme/erişim talep süreci tanımlı (kvkk@domain)
  • Kullanım şartları + gizlilik politikası yayında
  • Şirket kuruldu (ya da bireysel girişimci durumu net)
  • Faturalama altyapısı var (B2B için)

📊 İzleme

  • Sentry: backend + frontend + mobil 3'ü de bağlı
  • Grafana dashboard üretim metriklerini gösteriyor
  • Slack/Discord'a uyarı entegrasyonu (kritik hata > webhook)
  • Uptime monitoring (UptimeRobot, BetterStack, vs.)
  • Database slow query log aktif
  • Disk/CPU/RAM alarmları tanımlı (%80 threshold)
  • Günlük log rotation, 30 gün retention

📞 Müşteri Hizmetleri

  • destek@domain e-posta canlı
  • Yanıt SLA: 24 saat (ilk 30 gün), sonra 48 saat
  • Sık sorulan sorular sayfası (FAQ)
  • WhatsApp business veya canlı sohbet (opsiyonel ama önerilir)
  • Bug raporu için GitHub issue veya Linear projesi kurulu

💼 İş Tarafı

  • Landing page (domain.com) yayında, mobil-responsive
  • Fiyatlandırma sayfası net (B2C ücretsiz mi, B2B abonelik mi)
  • Demo videosu (60 saniye) ana sayfada
  • Pilot kullanıcıların onayı ile case study/testimonial bölümü
  • Sosyal medya hesapları aktif (LinkedIn, Twitter/X, Instagram)
  • İlk PR / blog yazısı hazır
  • Etiket ve domain sahipliği vekaletsiz (domain.com.tr için TR-NIC işlemleri)

📈 Lansman Sonrası İlk 48 Saat İzleme Planı

Saat 0 (lansman anı):

  • API'yi public et
  • Lansman tweet'i / LinkedIn post'u
  • Sentry + Grafana açık tut

Saat +1:

  • Health check her 5 dakikada bir
  • İlk gerçek kullanıcı kim, dene

Saat +6:

  • Aktif kullanıcı sayısı, hata oranı incele
  • Sosyal medya yorumlarına yanıt ver

Saat +24:

  • Günlük rapor: kayıt, inceleme, hata, yanıt süresi
  • Kritik sorunlar varsa hotfix

Saat +48:

  • Haftalık planlamayı güncelle
  • v1.1 backlog'una pilot'tan gelen geri bildirimleri ekle

🚨 Rollback Planı

Eğer kritik bir sorun çıkarsa:

  1. Backend rollback: Önceki Docker image tag'ine geri dön (5 dakika)
  2. Mobil rollback: Yeni sürüm bekleyebilir, mevcut store sürümü çalışmaya devam eder
  3. Veritabanı: Schema değişikliği geri alınabilir mi? (rollback migration test edildi mi)
  4. DNS: Maintenance page'e geçici yönlendirme (varsa)

Bu listeyi 1 hafta öncesinden gözden geçir, son hafta tüm satırları yeşillemek için adımları sıralı planla.