Geliştirme Akışı
Günlük komutlar, dev vs start, Stripe webhook yerelde test.
Komutlar Özeti
Section titled “Komutlar Özeti”| Komut | Açıklama |
|---|---|
npm run dev | Vite geliştirme sunucusu — HMR, port 5173 |
npm run start | Wrangler yerel worker — port 8787, production’a yakın |
npm run build | Production build (build/client, build/server) |
npm run deploy | Build + Cloudflare Workers deploy |
npm run typecheck | React Router typegen + TypeScript kontrolü |
npm run cf-typegen | Cloudflare Workers TypeScript tipleri |
Ne Zaman Hangisi?
Section titled “Ne Zaman Hangisi?”- Günlük UI/route geliştirme:
npm run dev(hızlı, port 5173). - API, webhook, DB, Cloudflare binding testi:
npm run start(port 8787).
Stripe Webhook Yerelde
Section titled “Stripe Webhook Yerelde”Yerelde Stripe webhook’larını test etmek için Stripe CLI gereklidir. Önce CLI’ı kurun, sonra stripe listen komutunu kullanın.
Stripe CLI Kurulumu
Section titled “Stripe CLI Kurulumu”Homebrew ile (önerilen):
brew install stripe/stripe-cli/stripeHomebrew olmadan:
- GitHub Releases sayfasından CPU mimarinize uygun
stripe_X.X.X_mac-os_*.tar.gzdosyasını indirin. - Dosyayı açın:
tar -xvf stripe_X.X.X_mac-os_*.tar.gz stripedosyasını global erişim için/usr/local/bingibi bir dizine taşıyın.
Windows
Section titled “Windows”GitHub’dan direkt indirme (önerilen):
- GitHub Releases sayfasından
stripe_X.X.X_windows_x86_64.zipdosyasını indirin. - Zip dosyasını açın.
- Açılan
stripe.exedosyasının bulunduğu dizini WindowsPathortam değişkenine ekleyin. PowerShell’de:Veya Microsoft dokümantasyonu üzerinden manuel olarak Sistem Özellikleri > Ortam Değişkenleri üzerinden ekleyebilirsiniz.Terminal window [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\path\to\stripe", "User")
Scoop ile (Scoop kuruluysa):
scoop bucket add stripe https://github.com/stripe/scoop-stripe-cli.gitscoop install stripeNot: Windows antivirüs yazılımları Stripe CLI’ı bazen yanlış pozitif olarak işaretleyebilir. Bu durumda GitHub issue #692 sayfasına bakabilirsiniz.
Debian/Ubuntu (apt):
curl -s https://packages.stripe.dev/api/security/keypair/stripe-cli-gpg/public | gpg --dearmor | sudo tee /usr/share/keyrings/stripe.gpgecho "deb [signed-by=/usr/share/keyrings/stripe.gpg] https://packages.stripe.dev/stripe-cli-debian-local stable main" | sudo tee -a /etc/apt/sources.list.d/stripe.listsudo apt update && sudo apt install stripeRPM tabanlı (yum):
echo -e "[Stripe]\nname=stripe\nbaseurl=https://packages.stripe.dev/stripe-cli-rpm-local/\nenabled=1\ngpgcheck=0" | sudo tee -a /etc/yum.repos.d/stripe.reposudo yum install stripePaket yöneticisi olmadan:
- GitHub Releases sayfasından
stripe_X.X.X_linux_x86_64.tar.gzdosyasını indirin. - Dosyayı açın:
tar -xvf stripe_X.X.X_linux_x86_64.tar.gz ./stripedosyasını PATH içindeki bir dizine taşıyın.
Docker
Section titled “Docker”Stripe CLI Docker image olarak da mevcuttur:
docker run --rm -it stripe/stripe-cli:latestStripe CLI’ye Giriş (Login)
Section titled “Stripe CLI’ye Giriş (Login)”Kurulum sonrası Stripe hesabınıza bağlanmanız gerekir:
-
Tarayıcı ile giriş (önerilen):
Terminal window stripe loginKomutu çalıştırdığınızda bir pairing code gösterilir.
Entertuşuna basarak tarayıcıda oturum açın veya gösterilen URL’yi manuel olarak ziyaret edin. -
API key ile giriş (CI/CD veya tarayıcı olmadan):
Terminal window stripe login --interactiveMevcut API secret key veya restricted key ile giriş yapabilirsiniz.
-
Satır içi API key:
Terminal window stripe login --api-key sk_test_...
Stripe CLI geliştirmeleri ve daha fazla bilgi için: Stripe CLI Dokümantasyonu
Webhook Yönlendirme
Section titled “Webhook Yönlendirme”- Önce
npm run startile Wrangler’ı başlatın. - Başka bir terminalde:
Terminal window stripe listen --forward-to localhost:8787/api/stripe/webhook - CLI’dan verilen
whsec_...değerini.dev.varsiçindeSTRIPE_WEBHOOK_SECRETolarak kullanın.
Vite ile test ediyorsanız --forward-to localhost:5173/api/stripe/webhook kullanın.
Main Proje vs Docs
Section titled “Main Proje vs Docs”- Ana uygulama (Achidemy LMS): Proje kökünde
npm run dev/npm run start. - Bu dokümantasyon sitesi:
docs/klasöründenpm run dev/npm run build. Sadece dokümantasyonu düzenlemek için kullanılır.