Claude Code ile Web ve Mobil Uygulama Geliştirme
Teknik bilgisi olmayan katılımcıların 16 saat içinde canlı bir web uygulaması geliştirip yayına aldığı ve mobil uygulamasını App Store ile Google Play’e gönderdiği uygulamalı eğitim programı.
- Süre
- 16 saat, 4 modül
- Hedef kitle
- Teknik bilgisi olmayan kullanıcılar
- Yöntem
- %80 uygulama, tek proje üzerinden
- Odak
- Canlıya alma ve mağaza yayını
Program akışı
Temeller ve ilk ürün
Terminal, Claude Code, ilk sayfa, GitHub
Web uygulaması ve canlıya alma
Veritabanı, giriş, Vercel, alan adı
Mobil uygulama
Expo, telefonda test, uygulama kimliği
Mağazalara yayın
EAS Build, TestFlight, Google Play
Saat saat program
Bir saate tıklayın
Kutucuklardan birini seçerek o saatte ne yapıldığını görebilirsiniz.
Girişli, veritabanlı, kendi linkinde herkese açık.
Web’le aynı verileri gösteren iOS ve Android sürümü.
TestFlight ve Google Play testinde kurulu, incelemeye gönderilmiş.
Genel bakış
Eğitim 4 modülden oluşur ve her modül 4 saattir. Sürenin en az %80’i uygulamadır; hiçbir teori bloğu 15 dakikayı geçmez.
Hedef kitle. Bilgisayar ve internet kullanabilen, ancak teknik bilgisi olmayan kişiler: girişimciler, küçük işletme sahipleri, ürün yöneticileri, öğrenciler ve meslek değiştirmek isteyenler.
Yaklaşım. Katılımcı kod yazmayı değil, Claude Code’a ne istediğini net anlatmayı, çıkan sonucu kontrol etmeyi ve ürünü yayına almayı öğrenir. Her kavram ihtiyaç duyulduğu anda, tek cümleyle ve bir benzetmeyle anlatılır.
Eğitim projesi: Alışkanlık Takipçisi. Tüm eğitim boyunca tek bir ürün geliştirilir. Kullanıcı giriş yapar, alışkanlık ekler (örneğin “günde 2 litre su”), her gün işaretler ve kaç gündür üst üste yaptığını görür. Web ve mobil sürüm aynı veritabanını kullanır; katılımcı “tek ürün, iki platform” fikrini yaşayarak öğrenir.
Öğrenme kazanımları
- Claude Code’u kurar, terminalde güvenle açar ve projesini Türkçe komutlarla yönetir.
- Amaç, bağlam, kısıt ve kabul kriteri içeren iyi bir prompt yazar.
- Claude Code’un yaptığı değişiklikleri okur, onaylar veya geri alır.
- Git ve GitHub ile projesini sürümler ve yedekler.
- Veritabanlı, girişli bir web uygulamasını Vercel’de canlıya alır.
- Aynı ürünün mobil sürümünü Expo ile geliştirip telefonunda test eder.
- EAS Build ile iOS ve Android paketlerini derleyip mağazalara gönderir.
- Bir hatayı okuyup Claude Code’a doğru aktararak çözer.
Teknik yığın
Araçlar, yeni başlayan biri için en az kurulum ve en az ücretle ilerlenecek şekilde seçildi.
| Katman | Araç | Neden bu araç |
|---|---|---|
| Yapay zekâ geliştirici | Claude Code | Doğal dilde komutla dosya oluşturur, kod yazar, komut çalıştırır |
| Web uygulaması | Next.js | Vercel ile kolayca canlıya çıkar, sektör standardı |
| Veritabanı ve giriş | Supabase | Ücretsiz katman, hazır kullanıcı girişi, görsel panel |
| Web yayını | Vercel | GitHub’a her gönderimde otomatik yayın |
| Kod deposu | Git + GitHub | Yedekleme, sürüm geçmişi, Vercel ve EAS bağlantısı |
| Mobil uygulama | Expo (React Native) | Expo Go ile telefonda anında test, Mac gerektirmez |
| Mobil derleme ve gönderim | EAS Build + EAS Submit | Bulutta derleme, mağazalara komutla gönderim |
Eğitim öncesi hazırlık
Mağaza hesaplarının onayı günler sürebildiği için hazırlık listesi eğitimden en az 1 hafta önce gönderilir. Eğitmen, eğitimden 2 gün önce herkesle 30 dakikalık çevrim içi bir kurulum kontrolü yapar.
Katılımcı
- Dizüstü bilgisayar (Windows 10/11 veya macOS), en az 8 GB RAM
- Akıllı telefon (iPhone veya Android) ve kablosu
- Ücretli Claude planı (Claude Code erişimi için)
- GitHub, Vercel, Supabase ve Expo hesapları (ücretsiz)
- Telefona Expo Go uygulaması
- Apple Developer Program üyeliği (yıllık ücretli, onayı birkaç gün sürebilir)
- Google Play Console hesabı (tek seferlik ücret, kimlik doğrulaması)
- İsteğe bağlı: kendi alan adı
Mağaza hesabı açmak istemeyen katılımcı Modül 4’te eğitmenin demo hesabındaki gönderimi izler ve kendi derlemesini hazır hale getirir. Hesap açıldığında tek komutla gönderebilir.
Eğitmen
- Örnek projenin her modül sonu hali GitHub’da ayrı dalda:
modul-1-son,modul-2-son… Geride kalan katılımcı buradan devam eder. - Demo Apple ve Google hesaplarında örnek uygulama önceden yayında
- Google Play kapalı test grubu hazır. Yeni kişisel hesaplarda üretime çıkmadan önce kapalı test zorunludur (son bilinen kural: 12 testçi, 14 gün; eğitim öncesi kontrol edilir). Katılımcılar birbirinin testçisi olur.
- Yedek internet, yedek Claude hesabı, ekran paylaşımı testi
- Katılımcı başına prompt kartı ve sözlük kartı
- 12 kişiyi aşan gruplarda bir asistan
Temeller ve ilk ürün
Katılımcı Claude Code ile ilk web sayfasını oluşturur, kendi bilgisayarında açar ve GitHub’a yedekler. Bu modülün asıl hedefi teknik korkuyu kırmaktır.
Restoran benzetmesi. Ön yüz salondur, arka yüz mutfaktır, veritabanı kilerdir, sunucu ve alan adı restoranın adresidir. Claude Code siparişi alıp mutfakta pişiren aşçıdır; restoranın sahibi sizsiniz.
Akış
| Zaman | Süre | Etkinlik | Tür |
|---|---|---|---|
| 00:00 | 20 dk | Açılış: eğitmen yayındaki örnek uygulamayı telefonunda gösterir. Katılımcılar uygulama fikirlerini bir cümleyle paylaşır. | Motivasyon |
| 00:20 | 15 dk | Restoran benzetmesiyle bir uygulamanın parçaları | Kavram |
| 00:35 | 25 dk | Terminal: klasörde gezinmek, klasör açmak, listelemek. Alıştırma: Masaüstünde egitim klasörü. | Uygulama |
| 01:00 | 30 dk | Claude Code kurulumu, hesapla giriş, claude komutuyla ilk açılış | Uygulama |
| 01:30 | 10 dk | Mola | |
| 01:40 | 30 dk | İlk sohbet: soru sormak, izin isteklerini okumak, /init ile proje hafıza dosyası (CLAUDE.md) | Uygulama |
| 02:10 | 40 dk | İlk ürün: Alışkanlık Takipçisi’nin tanıtım sayfası. Oluştur, tarayıcıda aç, üç tur iyileştir. | Uygulama |
| 02:50 | 10 dk | Mola | |
| 03:00 | 25 dk | İyi prompt formülü ve plan modu; katılımcı sayfasına yeni bölüm ekler | Uygulama |
| 03:25 | 25 dk | Git ve GitHub: commit = oyundaki kayıt noktası. Bir değişikliği bilerek bozup geri almak. | Uygulama |
| 03:50 | 10 dk | Mini kontrol, “bugün ne yaptık” turu | Değerlendirme |
İyi prompt formülü: A-B-K-K
Her prompt dört soruya cevap verir: Amaç (ne istiyorum), Bağlam (proje ne, kim kullanacak), Kısıt (neye dokunmasın, hangi stil) ve Kabul kriteri (bittiğini nasıl anlarım).
bana bir site yap
Bu klasörde Next.js ile “aliskanlik-takipcisi” adında yeni bir proje oluştur. Ana sayfa, uygulamayı tanıtan bir açılış sayfası olsun: başlık, üç maddelik özellik listesi ve “Hemen Başla” butonu. Yeşil tonlarında, sade ve telefonda da düzgün görünen bir tasarım istiyorum. Bitince projeyi bilgisayarımda nasıl açacağımı tek cümleyle söyle.
Kendiniz deneyin: prompt oluşturucu
Dört kutuyu doldurun; Claude Code’a yapıştırmaya hazır promptunuz aşağıda oluşsun. Eğitimde katılımcılar ilk promptlarını bu şablonla yazar.
Tek cümle, net bir istek.
Claude’un bilmediği arka plan.
Sınırlar ve tercihler.
Sonucu nasıl kontrol edeceğiniz.
Kutuları doldurdukça promptunuz burada oluşacak.
Örnek promptlar
Ana sayfadaki başlığı “Her gün biraz daha iyi” yap. Telefonda açtığımda butonlar ekrandan taşıyor, düzelt. Başka hiçbir şeyi değiştirme.
Bu projeyi git ile kaydet ve anlamlı bir commit mesajı yaz. Sonra GitHub’da “aliskanlik-takipcisi” adında gizli (private) bir depo oluşturup gönder. Benim yapmam gereken bir adım varsa (örneğin GitHub’a giriş) dur ve bana söyle.
- Bilgisayarda
localhost:3000adresinde açılan tanıtım sayfası - GitHub’da en az 2 commit içeren gizli depo
- Projede CLAUDE.md dosyası
Sık karşılaşılan sorunlar
| Belirti | Sebep | Çözüm |
|---|---|---|
| “claude: command not found” | Kurulum sonrası terminal yenilenmedi | Terminali kapatıp yeniden açın |
| “npm bulunamadı” | Node.js kurulu değil | Hazırlık rehberindeki Node.js adımı tekrar edilir |
| Windows’ta betik çalıştırma hatası | PowerShell güvenlik ayarı | Eğitmen hazır komutu verir ya da hata metni Claude Code’a yapıştırılır |
| “Port 3000 kullanımda” | Eski sunucu açık kaldı | Claude Code’a “3000 portunu kullanan süreci kapat” denir |
| İzin isteklerinden çekinme | Ne onaylandığı bilinmiyor | Kural: okumadan onaylama; anlamadığını “bu ne yapacak?” diye sor |
Restoran benzetmesinde veritabanı neye karşılık gelir?
Kilere. Malzemeler, yani kullanıcı verileri orada düzenli şekilde saklanır.
A-B-K-K formülünün dört harfi nedir?
Amaç, Bağlam, Kısıt ve Kabul kriteri.
Commit ile push arasındaki fark nedir?
Commit, projenin o anki halini bilgisayarınızda kaydeder. Push, bu kayıtları GitHub’a, yani buluta gönderir.
Claude Code bir dosyayı silmek için izin istediğinde ne yaparsınız?
Ne yapacağını okursunuz. Anlamadıysanız “bu ne yapacak?” diye sorarsınız; emin değilseniz reddedersiniz.
Projeniz bozulursa nasıl geri dönersiniz?
Git geçmişindeki son çalışan kayda dönersiniz. Claude Code’a “son çalışan commit’e geri dön” demeniz yeterli.
Web uygulaması ve canlıya alma
Modül sonunda her katılımcının kullanıcı girişi ve veritabanı olan, kendi linkinde herkese açık bir web uygulaması olur. Linki telefonundan açıp arkadaşına gönderebilir.
Akış
| Zaman | Süre | Etkinlik | Tür |
|---|---|---|---|
| 00:00 | 15 dk | Isınma: Modül 1 tekrarı, herkesin projesi açık ve GitHub’da mı? | Tekrar |
| 00:15 | 20 dk | Ürünü planlamak: ekranları kâğıda çizmek, plan modunda Claude Code’dan plan istemek ve düzeltmek | Uygulama |
| 00:35 | 35 dk | Arayüz: alışkanlık listesi ve ekleme ekranı, önce sahte verilerle | Uygulama |
| 01:10 | 10 dk | Mola | |
| 01:20 | 40 dk | Veritabanı: Supabase projesi, tablo komutu, anahtarları .env.local dosyasına koymak. Anahtar = ev anahtarı, kimseyle paylaşılmaz. | Uygulama |
| 02:00 | 30 dk | E-postayla giriş ve “herkes yalnızca kendi verisini görür” kuralı (Row Level Security). İki hesapla test. | Uygulama |
| 02:30 | 10 dk | Mola | |
| 02:40 | 35 dk | Canlıya alma: Vercel’e depoyu bağlamak, ortam değişkenleri, ilk deploy, linki telefondan açmak | Uygulama |
| 03:15 | 20 dk | Hata ayıklama atölyesi: eğitmen bilerek bir hata yayına çıkarır, katılımcılar kayıtları okuyup şablonla çözdürür | Uygulama |
| 03:35 | 15 dk | Gizlilik politikası sayfası (Modül 4’te mağazalar isteyecek) ve otomatik yayın; alan adı bağlama gösterimi | Uygulama |
| 03:50 | 10 dk | Herkes linkini paylaşır, birbirinin uygulamasına kayıt olur | Değerlendirme |
Canlıya almadan önce kontrol listesi
.env.localdosyası.gitignoreiçinde- Gizli “service role” anahtarı ön yüzde yok
- Tüm tablolarda Row Level Security açık
- Ortam değişkenleri Vercel’e eklendi
- Supabase “Site URL” canlı adrese ayarlı
- Yerelde
npm run buildhatasız - Sayfa başlığı ve simgesi uygulamaya ait
Örnek promptlar
Alışkanlık Takipçisi’ni gerçek bir uygulamaya çevirmek istiyorum. Kullanıcı e-postayla kayıt olsun, alışkanlık eklesin, her gün işaretlesin ve kaç gündür üst üste yaptığını görsün. Veritabanı olarak Supabase kullanacağız. Kod yazmadan önce bana adım adım bir plan çıkar; teknik terimleri bir cümleyle açıkla.
Supabase için alışkanlıklar ve günlük işaretlemeler tablolarını oluşturan SQL’i yaz. Her kullanıcı yalnızca kendi kayıtlarını görebilsin. SQL’i Supabase panelinde nereye yapıştıracağımı da söyle.
1) Ne yapıyordum: Canlı sitede “Hemen Başla”ya bastım. 2) Ne oldu: Boş beyaz sayfa çıktı. Vercel kayıtlarındaki hata şu: [hatayı yapıştır] 3) Ne bekliyordum: Giriş ekranının açılmasını. Sebebini bul, önce bana açıkla, sonra düzelt.
/gizlilik adresinde Türkçe ve İngilizce bir gizlilik politikası sayfası oluştur. Uygulama yalnızca e-posta adresi ve kullanıcının girdiği alışkanlık verilerini tutuyor, üçüncü taraflarla paylaşmıyor. İletişim e-postası olarak [e-posta] yaz. Bu metnin hukuki danışmanlık yerine geçmediğini bana ayrıca hatırlat.
…vercel.appadresinde canlı, girişli, veritabanlı web uygulaması- Canlı gizlilik politikası sayfası
- Kayıtlardan okunup çözülmüş en az bir hata
Sık karşılaşılan sorunlar
| Belirti | Sebep | Çözüm |
|---|---|---|
| Yerelde çalışıyor, canlıda boş sayfa | Ortam değişkenleri Vercel’e eklenmedi | Vercel ayarlarından ekleyip yeniden deploy |
| Kayıt e-postasındaki link localhost’a gidiyor | Supabase Site URL ayarı | Site URL ve yönlendirme adresine canlı adres yazılır |
| Veriler kaydoluyor ama görünmüyor | Row Level Security kuralı eksik | Claude Code’a tablo kurallarını kontrol ettirin |
| Vercel derlemesi başarısız | Yerelde fark edilmeyen hata | Yerelde npm run build çalıştırıp hatayı Claude’a verin |
| Anahtar yanlışlıkla GitHub’a gitti | .gitignore eksik | Anahtar Supabase’den yenilenir, eskisi geçersiz kılınır |
GitHub’a bir değişiklik gönderdiğinizde ne olur?
Vercel değişikliği fark eder, uygulamayı yeniden derler ve genellikle bir-iki dakika içinde yeni sürümü yayına alır.
Uygulama yerelde çalışıyor ama canlıda boş sayfa açılıyor. İlk neye bakarsınız?
Ortam değişkenlerinin Vercel’e eklenip eklenmediğine. Sonra Vercel kayıtlarındaki hatayı Claude Code’a şablonla aktarırsınız.
Row Level Security neyi sağlar?
Her kullanıcının veritabanında yalnızca kendi kayıtlarını görmesini ve değiştirebilmesini.
Eğitimde ayrıca her katılımcı yanındaki kişiye 2 dakikada uygulamasını canlı linkten gösterir.
Mobil uygulama
Alışkanlık Takipçisi katılımcının kendi telefonunda çalışır ve web sürümüyle aynı verileri gösterir. Uygulama ayrıca mağazaların istediği temel şartlara hazır hale gelir: kimlik, ikon ve hesap silme.
Akış
| Zaman | Süre | Etkinlik | Tür |
|---|---|---|---|
| 00:00 | 15 dk | Web = herkesin uğradığı vitrin, mobil = cebe giren dükkân. Neden Expo: tek kodla iPhone ve Android, Mac gerekmeden. | Kavram |
| 00:15 | 25 dk | Expo projesi oluşturmak, QR kodu okutup uygulamayı telefonda açmak, bir yazıyı değiştirip anında görmek | Uygulama |
| 00:40 | 35 dk | Ekranlar: giriş, liste, ekleme. Web projesini referans göstermek, alt sekme menüsü. | Uygulama |
| 01:15 | 10 dk | Mola | |
| 01:25 | 35 dk | Aynı Supabase’e bağlanmak, oturumu kalıcı tutmak. Web’de eklenen alışkanlık telefonda belirir. | Uygulama |
| 02:00 | 25 dk | Mobile özgü deneyim: her akşam 21:00 hatırlatma bildirimi, titreşim, çentikli ekran uyumu | Uygulama |
| 02:25 | 10 dk | Mola | |
| 02:35 | 30 dk | Uygulama kimliği: ad, 1024×1024 ikon, açılış ekranı, paket kimliği (com.adsoyad.aliskanlik). Paket kimliği yayından sonra değişmez. | Uygulama |
| 03:05 | 25 dk | Hesap silme: App Store uygulama içinden, Google Play ayrıca web bağlantısıyla ister. Web’e /hesap-sil sayfası. | Uygulama |
| 03:30 | 20 dk | Mağaza malzemeleri: ekran görüntüleri, Türkçe ve İngilizce kısa ve uzun açıklama | Uygulama |
| 03:50 | 10 dk | Telefonlar birbirine gösterilir, Modül 4 için hesap durumları kontrol edilir | Değerlendirme |
Örnek promptlar
Bu klasörde Expo ile “aliskanlik-mobil” adında yeni bir mobil uygulama oluştur. Yan klasördeki ../aliskanlik-takipcisi web projesine bak; aynı renkleri, aynı ekranları ve aynı Supabase veritabanını kullan. Önce yalnızca ana ekranı yap ve bana telefonumda nasıl açacağımı söyle.
Kullanıcı izin verirse her akşam 21:00’de “Bugünkü alışkanlıklarını işaretledin mi?” diye yerel bir bildirim gönder. İzin vermezse uygulama normal çalışmaya devam etsin. Ayarlar ekranına bildirimi açıp kapatan bir düğme ekle.
Bu uygulamayı App Store ve Google Play’e göndermeye hazırlanıyorum. app.json dosyasını ve uygulamayı kontrol et: ad, ikon, açılış ekranı, paket kimliği, sürüm numarası, izin açıklamaları ve hesap silme özelliği eksiksiz mi? Eksikleri liste halinde göster, sonra benim onayımla tamamla.
- Telefonda çalışan, web’le aynı verileri gösteren uygulama
- İkon, açılış ekranı ve paket kimliği ayarlı
app.json - Uygulama içinde ve web’de hesap silme
- En az 3 ekran görüntüsü, Türkçe ve İngilizce mağaza açıklamaları
Sık karşılaşılan sorunlar
| Belirti | Sebep | Çözüm |
|---|---|---|
| QR okutuluyor ama uygulama açılmıyor | Telefon ve bilgisayar farklı ağda | npx expo start --tunnel ile başlatın |
| “Incompatible SDK version” | Expo Go ile proje sürümü uyuşmuyor | Expo Go’yu güncelleyin ya da Claude Code’a sürüm uyumunu sorun |
| Uygulama kapanınca oturum düşüyor | Oturum cihazda saklanmıyor | “Oturumu cihazda kalıcı sakla” deyin |
| İçerik çentiğin altına giriyor | Güvenli alan ayarlanmadı | Güvenli alan (safe area) uyumu yaptırın |
| Bildirim Expo Go’da gelmiyor | Bazı özellikler Expo Go’da sınırlı | Modül 4’teki gerçek derlemede test edilir |
Paket kimliği neden yayından sonra değiştirilemez?
Mağazalar uygulamayı bu kimlikle tanır. Kimlik değişirse yeni bir uygulama sayılır; kullanıcılar, yorumlar ve güncellemeler eski uygulamada kalır.
Web’de eklenen veri neden telefonda da görünüyor?
Çünkü web ve mobil sürüm aynı Supabase veritabanına bağlı. Tek ürün, iki platform.
Mağazalar hesap silme konusunda ne istiyor?
Hesap açılabilen uygulamalarda hesabın silinebilmesini. App Store bunu uygulama içinden, Google Play ayrıca bir web bağlantısıyla ister.
App Store ve Google Play’e yayın
Uygulama TestFlight ve Google Play dahili test üzerinden katılımcının telefonuna gerçek bir uygulama olarak kurulur ve mağaza incelemesine gönderilir. İnceleme günler sürebildiği için başarı ölçütü “onay” değil, “eksiksiz gönderim”dir.
Akış
| Zaman | Süre | Etkinlik | Tür |
|---|---|---|---|
| 00:00 | 15 dk | Yayın yolculuğu haritası. Benzetme: kitabı matbaaya göndermek ve dağıtıcının onayı. | Kavram |
| 00:15 | 30 dk | EAS kurulumu: Expo hesabıyla giriş, derleme ayarı, sürüm numarası ile derleme numarası farkı | Uygulama |
| 00:45 | 25 dk | Android derlemesini başlatmak; bulutta 15–20 dk sürer, beklerken iOS’a geçilir | Uygulama |
| 01:10 | 10 dk | Mola | |
| 01:20 | 40 dk | iOS: App Store Connect kaydı, iOS derlemesi (sertifikaları EAS yönetir), eas submit ile TestFlight. Apple şifresi Claude’a yazılmaz; terminalde katılımcı girer. | Uygulama |
| 02:00 | 30 dk | TestFlight: dahili test grubuna kendini eklemek, telefona kurmak, bildirimi test etmek | Uygulama |
| 02:30 | 10 dk | Mola | |
| 02:40 | 35 dk | Google Play Console: mağaza girişi, içerik derecelendirmesi, veri güvenliği formu, gizlilik linki. İlk paket elle yüklenir, sonrakiler eas submit ile. Katılımcılar kapalı teste birbirini ekler. | Uygulama |
| 03:15 | 20 dk | App Store incelemesine gönderim: gizlilik etiketi, yaş derecelendirmesi, inceleme ekibi için demo hesap | Uygulama |
| 03:35 | 15 dk | Güncelleme döngüsü: sürüm numarasını artırıp yeniden gönderim; küçük düzeltmeler için EAS Update | Uygulama |
| 03:50 | 10 dk | Çıktı kontrolü, eğitim sonrası yol haritası ve destek kanalı | Değerlendirme |
Mağaza karşılaştırması
| App Store (iOS) | Google Play (Android) | |
|---|---|---|
| Hesap | Apple Developer Program, yıllık ücret | Play Console, tek seferlik ücret |
| Test kanalı | TestFlight | Dahili, kapalı ve açık test |
| Yeni hesaba özel şart | Yok | Kişisel hesaplarda üretimden önce kapalı test (son bilinen kural: 12 testçi, 14 gün) |
| Zorunlu formlar | Gizlilik etiketi, yaş derecelendirmesi | Veri güvenliği, içerik derecelendirmesi, hedef kitle |
| Hesap silme | Uygulama içinden | Uygulama içinden ve web bağlantısıyla |
| İnceleme süresi | Genellikle 1–2 gün | İlk incelemede birkaç gün sürebilir |
Ücretler, süreler ve kurallar değişebildiği için eğitimden önce Apple ve Google’ın güncel sayfalarından kontrol edilir.
Örnek promptlar
Bu Expo uygulamasını EAS Build ile App Store ve Google Play için derlemek istiyorum. Gerekli ayar dosyalarını hazırla, sürüm numaralarını ayarla ve çalıştırmam gereken komutları sırayla yaz. Apple veya Google hesabıma giriş gereken adımlarda dur, girişi ben yapacağım.
Google Play veri güvenliği formunu dolduracağım. Bu projenin kodunu incele ve hangi verileri topladığımızı, nerede sakladığımızı, kimseyle paylaşıp paylaşmadığımızı soru soru çıkar. Emin olmadığın yerleri ayrıca belirt.
Apple uygulamamı şu gerekçeyle reddetti: [ret metnini yapıştır]. Bunun ne anlama geldiğini sade Türkçeyle açıkla, uygulamada neyi değiştirmem gerektiğini listele ve Apple’a yazacağım kısa İngilizce cevabı taslak olarak hazırla.
Sık ret sebepleri ve önlemleri
| Ret sebebi | Mağaza | Önlem |
|---|---|---|
| İnceleme ekibi giriş yapamadı | App Store | İnceleme notlarına çalışan demo hesap bilgisi yazılır |
| Hesap silme yok | İkisi | Modül 3’te eklenen hesap silme gösterilir |
| Gizlilik politikası eksik | İkisi | Modül 2’deki canlı /gizlilik linki girilir |
| “Web sitesinden farksız” uygulama | App Store | Bildirim gibi mobile özgü özellikler öne çıkarılır |
| Çökme veya yer tutucu içerik | İkisi | Gönderimden önce test kanallarında tüm akış denenir |
| Veri güvenliği formu uygulamayla uyuşmuyor | Google Play | Form, Claude Code’un koddan çıkardığı listeyle doldurulur |
- TestFlight üzerinden telefona kurulmuş iOS uygulaması
- Dahili test üzerinden telefona kurulmuş Android uygulaması
- App Store incelemesine gönderilmiş uygulama
- Google Play’de başlatılmış kapalı test
- Sürüm numarası artırılmış en az bir güncelleme
Ölçme, eğitmen notları ve sonrası
Eğitim sınavla değil, katılımcının ürettiği çıktılarla değerlendirilir. Başarı ise 30 gün sonra yayında olan uygulama sayısıyla ölçülür.
Değerlendirme ölçütleri
| Alan | Başarılı sayılır | Nasıl ölçülür |
|---|---|---|
| Araç kullanımı | Claude Code’u açar, prompt verir, değişikliği onaylar veya geri alır | Modül 1 gözlem ve mini kontrol |
| Prompt yazımı | Promptlarında amaç, bağlam, kısıt ve kabul kriteri var | Her modülde 2 prompt incelenir |
| Web yayını | Girişli, veritabanlı uygulama canlı linkte çalışıyor | Canlı link testi |
| Hata çözme | Bir hatayı kayıtlardan bulup şablonla çözdürmüş | Modül 2 hata atölyesi |
| Mobil | Uygulama telefonda çalışıyor, web’le aynı veriyi gösteriyor | Modül 3 eşli gösterim |
| Mağaza yayını | Test kanallarında kurulu, App Store’a gönderilmiş | Modül 4 çıktı kontrolü |
| Kalıcılık | 30 gün içinde en az bir mağazada yayında | Eğitim sonrası takip anketi |
Eğitmen notları
Ben yaparım, birlikte yaparız, siz yaparsınız. Her yeni adım önce eğitmen ekranında gösterilir, sonra birlikte yapılır, sonra katılımcı kendi projesinde tekrarlar.
Kimse geride kalmaz. 10 dakikadan uzun takılan katılımcı modülün hazır dalına geçer, sorununu molada asistanla çözer.
Durum sinyali. Masada yeşil (devam ediyorum) ve kırmızı (yardım lazım) kart; çevrim içinde tepki emojileri.
Hızlı bitenlere ek görevler. Karanlık mod, haftalık istatistik grafiği, İngilizce dil desteği, alışkanlığa emoji seçme.
Hatalar müfredatın parçasıdır. Eğitmen kendi ekranında çıkan hataları saklamaz; her birini hata bildirme şablonuyla canlı çözer.
Claude Code yanılabilir. Katılımcı her değişikliği tarayıcıda veya telefonda kendi gözüyle doğrular.
Güvenlik alışkanlığı. Şifreler ve gizli anahtarlar sohbete yazılmaz, okunmadan izin verilmez, sızan anahtar hemen yenilenir.
Zaman tamponu. Mağaza adımları uzarsa Modül 4’teki güncelleme döngüsü eğitmen gösterimine dönüşür.
Sözlük
- Terminal
- Bilgisayara yazarak komut verdiğimiz pencere
- Prompt
- Claude’a verdiğimiz talimat
- Localhost
- Uygulamanın yalnızca kendi bilgisayarımızda açılan adresi
- Depo
- Projenin dosyalarının ve geçmişinin durduğu klasör
- Commit
- Projenin o anki halini kaydetmek, oyundaki kayıt noktası gibi
- Push
- Kayıtları GitHub’a, yani buluta göndermek
- Deploy
- Uygulamayı internette herkesin açabileceği hale getirmek
- Ortam değişkeni
- Koda yazılmayan, ayrı saklanan gizli ayar ve anahtarlar
- Veritabanı
- Kullanıcı verilerinin düzenli saklandığı yer
- Build (derleme)
- Kodun telefona kurulabilir dosyaya dönüştürülmesi
- Paket kimliği
- Uygulamanın mağazadaki değişmez kimlik numarası
- TestFlight
- Apple’ın yayından önce test ettiren aracı
- Kapalı test
- Google Play’de uygulamayı yalnızca seçilen kişilere açmak
Eğitim sonrası 30 gün
- 1–7. günApp Store inceleme sonucunu takip et; ret gelirse “ret cevabı” promptuyla düzelt ve yeniden gönder.
- 1–14. günGoogle Play kapalı testini tamamla, testçilerden geri bildirim topla.
- 15–30. günGoogle Play’de üretime erişim başvurusu yap ve yayına çık.
- SürekliKendi uygulama fikrini aynı yöntemle sıfırdan geliştir, eğitim topluluğunda paylaş.