Bölgesel Fiyat Matrix Sistemi
Achidemy bölgeye göre dinamik fiyatlandırma (Cloudflare Edge, tier_prices, pricing-engine).
Achidemy, öğrencilerin bulunduğu ülkenin alım gücüne göre dinamik fiyatlandırma yapar.
Nasıl Çalışır?
Section titled “Nasıl Çalışır?”- Konum Tespiti: Cloudflare Edge,
request.cf.countryheader’ı üzerinden kullanıcı konumunu yakalar. - Tier Eşleşmesi: Sistem, kursun bağlı olduğu
price_tier_iddeğerini alır. - Matrix Sorgusu:
tier_pricestablosundan ilgili ülke/para birimi (TRY, USD, EUR vb.) için belirlenmiş sabit fiyat çekilir.
Örnek Akış
Section titled “Örnek Akış”| Ülke | Para Birimi | Tier 1 Fiyatı |
|---|---|---|
| ABD | USD | $19.99 |
| Türkiye | TRY | 499.00 ₺ |
| Almanya | EUR | €19.99 |
Geliştirme Notları
Section titled “Geliştirme Notları”tier_prices Şeması (Mevcut)
Section titled “tier_prices Şeması (Mevcut)”Şu anki şemada (app/db/schema.ts): tier_prices tablosu tierId, currency (usd, try, eur), amount alanlarına sahiptir. Her tier için para birimi bazında sabit fiyat tutulur.
İleride dinamik kur güncellemeleri için ek alanlar (örn. baseAmountUSD, isManual, lastUpdated) eklenebilir; bu durumda kur botu ile amount güncellenebilir.
Dinamik Kur Güncelleme (Kur Botu) — Opsiyonel
Section titled “Dinamik Kur Güncelleme (Kur Botu) — Opsiyonel”Mevcut şemada kur botu kullanılmıyor; fiyatlar seed-pricing.ts veya admin paneli ile elle güncellenir. İleride baseAmountUSD / isManual / lastUpdated alanları eklendiğinde, harici kur servisi ile cron botu (workers/currency-bot.ts, app/lib/currency-sync.ts) ile otomatik güncelleme yapılabilir.
Fiyat Matrix Seeding (Başlangıç Verisi)
Section titled “Fiyat Matrix Seeding (Başlangıç Verisi)”Proje içinde fiyat katmanları ve para birimi fiyatlarını doldurmak için kullanılan script:
- Dosya:
app/db/seed-pricing.ts - Çalıştırma:
npx tsx app/db/seed-pricing.ts(proje kökünden;DATABASE_URL.envveya.dev.varsiçinde tanımlı olmalı). - İşlem: 50 adet fiyat katmanı (Tier 1 – Tier 50) oluşturur; her tier için USD, TRY ve EUR fiyatları
tier_pricestablosuna yazılır. - Mantık: Udemy benzeri artan fiyatlar (örn. USD 9.99 + (tier-1)*5; TRY 349.99 + (tier-1)*100; EUR 8.39 + (tier-1)*5). Temiz kurulum için script içinde
db.delete(tierPrices)/db.delete(priceTiers)satırları opsiyonel olarak açılabilir.
Detaylı şema için Veritabanı Şeması sayfasına bakın.
İlgili Dosyalar
Section titled “İlgili Dosyalar”app/lib/pricing-engine.ts— Bölgesel fiyat hesaplama; getRegionalPrice, getRegionalPriceFromRequest.app/lib/pricing.ts— getCountryFromRequest, para birimi eşlemesi.app/db/schema.ts— price_tiers, tier_prices (tierId, currency, amount).app/db/seed-pricing.ts— Fiyat matrix seeding (Tier 1–50, USD/TRY/EUR).app/routes/payment.checkout.tsx— Checkout’ta bölgesel fiyat kullanımı.