İçeriğe geç
← STÜDYO NOTLARI

Stüdyoyla çalışmak

Yazılım projesini teslim alırken neler istenmeli? Kontrol listesi

Kaynak kod tek başına teslim değildir. Hesaplar, imzalama anahtarları, alan adı ve veritabanı erişimi sizde değilse ürün size ait değildir.

KISA CEVAP

Teslimde kaynak kodun yanında şunlar sizin adınıza olmalı: Apple Developer ve Google Play Console hesapları, Android imzalama anahtarı, alan adı, sunucu ve veritabanı hesapları, ödeme ve bildirim servisleri, tasarım dosyaları ve kurulum belgesi. Apple kurumsal hesap için D-U-N-S numarası ister, Google Play hesabı tek seferlik 25 USD, Apple yıllık 99 USD’dir.

Neden yalnızca kaynak kod yetmez?

Bir mobil uygulama ya da web platformu, kodun çalıştığı onlarca hesabın toplamıdır. Mağaza kaydı, alan adı, veritabanı, dosya depolama, e-posta gönderimi, push bildirim servisi ve ödeme altyapısı ayrı ayrı hesaplarda durur. Kod size teslim edilip bu hesaplar geliştiricinin adına kalırsa, uygulamayı güncellemek, faturayı değiştirmek veya başka bir ekiple devam etmek için yine o kişiye ihtiyaç duyarsınız.

Pratikte en sık gördüğümüz sorun şudur: uygulama mağazada yayında, ama geliştirici hesabı ajansın kendi hesabı. Ajansla yollar ayrıldığında uygulamanın sahibi kâğıt üzerinde siz olsanız da mağazadaki kaydı yönetemezsiniz. Bu yüzden biz hesapları baştan müşterinin adına açarız ve teslimde kaynak kodla birlikte tüm erişimleri devrederiz.

Mobil uygulamada hangi hesaplar sizin olmalı?

  • Apple Developer Program: yıllık 99 USD. Şirket adına açılacaksa Apple, şirketin D-U-N-S numarasını ister. Numara yoksa ücretsiz alınabilir, ama birkaç gün sürebileceği için projenin başında başlatılmalıdır.
  • Google Play Console: tek seferlik 25 USD. Kurumsal hesapta da D-U-N-S numarası istenir. Yeni kişisel hesaplarda Google, yayından önce kapalı test şartı arar.
  • App Store Connect ve Play Console’da geliştiriciye yalnızca gereken rol verilir. Hesap sahibi (Account Holder) siz kalırsınız.
  • Uygulama içi satın alma varsa abonelik ürünleri, vergi ve banka bilgileri de sizin hesabınızda tanımlanır, ödemeler size gelir.

Uygulama başka bir geliştirici hesabında yayındaysa Apple ve Google’ın uygulama aktarım (app transfer) süreçleri vardır. Kullanıcılar ve yorumlar korunur, ama aktarım için iki hesabın da belirli şartları sağlaması gerekir. Baştan doğru hesapta başlamak bu süreci hiç yaşamamanızı sağlar.

Android imzalama anahtarı kaybolursa ne olur?

Android uygulamaları bir anahtarla imzalanır ve her güncelleme aynı kimlikle imzalanmak zorundadır. Bugün Google Play App Signing ile asıl uygulama imzalama anahtarı Google’da durur. Geliştiricinin elinde ise yalnızca yükleme anahtarı (upload key) bulunur. Yükleme anahtarı kaybolursa Play Console üzerinden sıfırlama talebi açılabilir. Bu bir felaket değildir ama birkaç gün güncelleme yapamamak demektir.

Teslimde şunları isteyin: .jks veya .keystore dosyası, anahtar takma adı (alias) ve iki parola. Expo EAS kullanılıyorsa kimlik bilgileri EAS’ta saklanır, o hesabın da sizin organizasyonunuzda olması gerekir. iOS tarafında sertifikalar ve provisioning profilleri Apple hesabından yeniden üretilebilir. Bu yüzden asıl önemli olan Apple hesabının size ait olmasıdır.

Bu dosyaları e-postayla göndermek yerine bir parola yöneticisinde ya da şifreli bir arşivde, parolayı ayrı bir kanaldan iletin.

Web ve backend tarafında neler devredilmeli?

  • Alan adı: kayıt firmasında sahibi siz olmalısınız. ICANN kuralları gereği yeni transfer edilen bir .com alan adı 60 gün başka firmaya taşınamaz. Yeni kaydedilen alan adlarında da firmalar genellikle aynı 60 günlük kilidi uygular. Bunu bilmek, son dakika sürprizlerini önler.
  • DNS ve CDN hesabı (örneğin Cloudflare): alan adının yönlendirmeleri buradadır.
  • Sunucu veya platform hesabı: Vercel, Cloudflare, AWS, Google Cloud ya da bir VPS sağlayıcısı.
  • Veritabanı: Supabase, Firebase veya yönetilen PostgreSQL. Projede sahip (owner) rolü sizde olmalı, yedekleme ayarı açık olmalı.
  • Dosya depolama (S3, R2, Firebase Storage) ve e-posta gönderim servisi.
  • Ödeme altyapısı: iyzico, PayTR, Stripe veya bankanın sanal POS’u. Üye işyeri sözleşmesi zaten şirketiniz adınadır, ama API anahtarlarının da sizin panelinizden üretilmesi gerekir.
  • Ortam değişkenleri: hangi anahtarın hangi servise ait olduğunu anlatan bir liste. Anahtarın kendisi değil, nereden üretildiği.

Kaynak kod nasıl teslim edilmeli?

Kodun bir zip dosyası olarak gelmesi yerine sizin GitHub veya GitLab organizasyonunuzdaki bir depoya, commit geçmişiyle birlikte aktarılmasını isteyin. Geçmiş, hangi değişikliğin neden yapıldığını anlamanın en güvenilir yoludur. Bir sonraki ekibin işini de ciddi biçimde kolaylaştırır.

Depoda en az şunlar bulunmalı:

  • Projeyi sıfırdan kurmayı anlatan bir README: gerekli araç sürümleri, kurulum komutları, yerelde çalıştırma.
  • .env.example gibi bir dosya: gereken tüm değişken adları, değerleri olmadan.
  • Veritabanı şeması ve migration dosyaları: veritabanını elle değil, dosyadan yeniden üretebilmek için.
  • Yayın adımları: mobilde mağaza derlemesinin nasıl alındığı, web’de nasıl deploy edildiği.

Gizli anahtarların depoya girmemiş olması da teslimin parçasıdır. Girdiyse o anahtarlar değiştirilmelidir. Commit geçmişinden silmek yetmez.

Tasarım dosyaları ve yönetim paneli de teslime dahil mi?

Evet. Figma dosyası ekibin kişisel hesabında kalırsa yeni bir ekran eklemek istediğinizde tasarım sistemine ulaşamazsınız. Tasarım dosyasının sizin Figma ekibinize taşınmasını, kullanılan font lisanslarının ve görsel kaynaklarının listelenmesini isteyin.

Yönetim paneli de ürünün parçasıdır, ayrı bir hediye değildir. Panelde en az bir süper yönetici hesabının size ait olması gerekir. Diğer yönetici hesaplarını sizin açıp kapatabilmeniz gerekir. Projelerimizde hazır panel şablonu kullanmıyoruz, panel ekranlarını da ürüne özel tasarlayıp geliştiriyoruz. Bu yüzden panelin kodu da aynı depoda, aynı teslim kapsamındadır.

Teslimden sonra destek nasıl planlanmalı?

Teslim, ürünün bittiği an değildir. İlk haftalarda gerçek kullanıcılar test aşamasında görülmeyen durumları ortaya çıkarır. iOS ve Android’in yıllık büyük sürümleri, mağaza politikalarındaki değişiklikler ve kullanılan kütüphanelerin güncellemeleri de düzenli iş üretir.

İki şeyi ayırmak gerekir. Birincisi, teslim edilen kapsamdaki hataların düzeltilmesi. Biz bunu teslimden sonra da sürdürürüz ve müşterilerimiz bize her zaman ulaşabilir. İkincisi, yeni özellikler, mağaza ve işletim sistemi uyumluluğu, sunucu izleme gibi süregelen bakım. Bu ayrıca planlanır. Sözleşmede bu iki başlığın ayrı yazılması, ileride “bu hata mı, yeni istek mi?” tartışmasını ortadan kaldırır.

Teslim günü için kısa kontrol listesi

  • Apple Developer ve Google Play Console hesap sahibi siz misiniz?
  • Android yükleme anahtarı, alias ve parolalar güvenli bir kanaldan elinizde mi?
  • Alan adı, DNS, sunucu ve veritabanı hesaplarında sahip rolü sizde mi?
  • Ödeme, e-posta ve bildirim servislerinin anahtarları sizin panelinizden mi üretildi?
  • Kod, commit geçmişiyle sizin organizasyonunuzdaki depoda mı?
  • README, .env.example, migration dosyaları ve yayın adımları depoda mı?
  • Figma dosyası sizin ekibinizde mi, font ve görsel lisansları listelendi mi?
  • Yönetim panelinde süper yönetici hesabı sizde mi?
  • Hata desteği ve bakım sözleşmede ayrı ayrı yazıldı mı?

AMG Yazılım olarak hesapları baştan müşteri adına açıyor, ürünü bu listeyle teslim ediyoruz.

PROJENİZE UYARLAYALIM

Danışmanlık ve Kod İncelemesi

Mimari kararlar, kod incelemesi ve ekip mentörlüğü. Devraldığınız bir kod tabanını da inceleriz.