Sözlük / Terimler
Projeye özgü terimlerin tek yerde tanımlanması — ürün/iş, teknik ve rol terimleri.
Bu sayfa Coursio projesinde sık geçen terimlerin kısa tanımlarını verir. Ürün/iş, teknik ve rol kavramları ayrı bölümlerde toplanmıştır. Yabancı dilde gelen geliştiriciler için de referans olarak kullanılabilir.
Ürün / İş Terimleri
Section titled “Ürün / İş Terimleri”| Terim | Açıklama |
|---|---|
| Enrollment | Bir öğrencinin bir kursa kaydolması. Veritabanında enrollments tablosu; satın alma veya abonelik ile oluşur. |
| Payout | Eğitmene yapılan ödeme. Platform gelirinden eğitmenin payının transfer edilmesi. |
| Payout request | Eğitmenin “bakiyemi çek” talebi. payout_requests tablosunda tutulur; admin onayı sonrası Stripe Connect veya manuel (TR) ödeme yapılır. |
| Tier | Fiyat katmanı. Bir kursun hangi fiyat grubuna ait olduğunu belirler; price_tiers tablosu. |
| Price tier | Tier ile aynı anlamda kullanılır; kurs–fiyat ilişkisi için. |
| Tier prices | Bir tier’a bağlı para birimi ve tutar çiftleri. tier_prices tablosu; örn. USD 49, TRY 1200, EUR 45. |
| PPP (bölgesel fiyat) | Satın alma gücü paritesi (Purchasing Power Parity). Ülkeye göre fiyat ve para birimi; Cloudflare request.cf ile ülke tespiti, pricing-engine ile PPP/matrix hesaplama. |
| Affiliate | Satış ortağı. Referans kodu ile yönlendirdiği satışlardan komisyon kazanır; affiliate_earnings vb. |
| Referral code | Kullanıcıya özel referans kodu; affiliate veya paylaşım linkinde kullanılır. |
| Connect (Stripe Connect) | Stripe’ın eğitmenlere ödeme aktarmak için kullandığımız ürünü. Uluslararası eğitmenler Stripe Connect ile ödeme alır. |
| Manuel ödeme (TR) | Türkiye’deki eğitmenler için Stripe Connect yerine kullanılan akış: eğitmen IBAN/Payoneer bilgisini girer, admin onayı sonrası platform dışında havale/EFT ile ödeme yapılır. |
| Checkout session | Stripe Checkout oturumu. Kullanıcı ödeme sayfasına yönlendirilir; tamamlanınca webhook ile enrollment’lar oluşturulur. stripeCheckoutSessionId enrollment kaydında tutulur. |
| Subscription | Abonelik. Aylık/yıllık plan; kullanıcı abone olduğunda belirli kurslara veya katalog erişimi alır. Stripe subscription + subscription_watch_logs vb. |
| Bundle | Kurs paketi. Birden fazla kursun tek ürün olarak sunulması; course_bundles, bundle_courses tabloları. |
Teknik Terimler
Section titled “Teknik Terimler”| Terim | Açıklama |
|---|---|
| Loader | React Router’da sayfa verisini sunucuda çeken async fonksiyon. Route dosyasında export async function loader(...); istemcide useLoaderData() ile kullanılır. |
| Action | React Router’da form gönderimi veya mutation’ı işleyen async fonksiyon. Route dosyasında export async function action(...); form action veya fetch ile tetiklenir. |
| Layout route | Alt sayfaları saran route; ortak çerçeve (sidebar, header) sağlar ve <Outlet /> ile alt route’u render eder. Örn. $lang.tsx, admin.tsx, instructor.tsx, account.tsx, my-courses.tsx. |
| GraphQL context | GraphQL Yoga’da resolver’lara geçen bağlam. { db, request, user, cloudflare } — yetkilendirme ve DB/ülke bilgisi için kullanılır. |
| Signed URL (Bunny) | Bunny CDN’de videoya erişim için imzalı URL. Token + expires ile oluşturulur; doğrudan indirme ve yetkisiz erişim engellenir. lib/video-security.ts — generateSignedVideoUrl. |
| Webhook | Dış servisin (örn. Stripe) olay sonrası uygulamamıza POST atması. Örn. api/stripe/webhook — checkout tamamlandı, ödeme alındı vb.; imza doğrulaması yapılır. |
| Hyperdrive | Cloudflare’ın PostgreSQL connection pooling ürünü. Production’da DB bağlantısı Hyperdrive üzerinden sağlanır; Worker’da daha verimli bağlantı kullanımı. |
| Pull Zone (Bunny) | Bunny CDN’de içeriğin sunulduğu zone. Video stream ve storage için; signed URL ve storage URL’leri bu zone üzerinden verilir. |
Rol ve Süreç Terimleri
Section titled “Rol ve Süreç Terimleri”| Terim | Açıklama |
|---|---|
| Student | Öğrenci. Kurs satın alan veya abone olan kullanıcı; user.role genelde "student" (varsayılan). |
| Instructor | Eğitmen. Kurs oluşturabilir, gelir raporu görür, payout talep eder. Kayıt sonrası eğitmen olmak için onboarding tamamlanır; user.role === "instructor" veya eğitmen kaydı tamamlanmış kullanıcı. |
| Admin | Yönetici. Kurs onaylama/reddetme, finans özeti, payout onayı, iade, fiyat katmanları vb. user.role === "admin". |
| Onboarding | Kayıt sonrası adımlar. Özellikle eğitmen onboarding: e-posta doğrulama, profil tamamlama veya eğitmen sözleşmesi sonrası “eğitmen” olarak işaretlenme; onboardingCompleted vb. |
- Ürün/iş: Enrollment, payout, payout request, tier, tier_prices, PPP, affiliate, referral code, Connect, manuel ödeme (TR), checkout session, subscription, bundle.
- Teknik: Loader, action, layout route, GraphQL context, signed URL (Bunny), webhook, Hyperdrive, Pull Zone (Bunny).
- Rol: student, instructor, admin; onboarding (eğitmen kaydı sonrası adımlar).
İlgili mimari sayfalar: Veritabanı Şeması, API Referansı ve GraphQL, Stripe Connect, TR Payout, Güvenlik ve Optimizasyon (signed URL).