Referral Programı Kod Yapısı Oluşturma Kılavuzu
Referral programı için gerekli veritabanı şeması, API uç noktaları ve temel kod yapılarını oluşturur. Kullanıcı referans kodları, referans takibi ve ödül yönetimi gibi temel işlevleri içerir.
Veritabanı tasarımı, kullanıcılar, referans kodları, referanslar ve ödüller tablolarını kapsar. Her tablo, referral programının işleyişi için gerekli alanları ve ilişkileri içerir. Referans kodlarının benzersizliği, referans durumlarının takibi ve ödül dağıtımı sistematik olarak yönetilir.
Yeni kullanıcı kaydında otomatik referans kodu oluşturma, referans doğrulama, ödül hesaplama ve API entegrasyonu gibi işlevler için kod örnekleri sunar. Belirtilen programlama dili ve veritabanı türüne uygun syntax kullanarak, hızlı MVP geliştirme sürecini destekler. Referral programının temel mekaniklerini çalıştırabilecek, genişletilebilir bir kod altyapısı sağlar.
{ }Değişken Açıklamaları:
- [PROGRAMLAMA DİLİ]: Referral programı kodunun yazılacağı programlama dilini belirtir. Örneğin: Python, Node.js, PHP, Ruby, Java
- [VERİTABANI TÜRÜ]: Kullanılacak veritabanı sistemini ve syntax yapısını tanımlar. Örneğin: PostgreSQL, MySQL, MongoDB, SQLite
- [REFERRAL KOD UZUNLUĞU]: Oluşturulacak referans kodunun karakter sayısını belirtir. Örneğin: 6, 8, 10, 12
- [REFERANS KODU]: Kullanıcının paylaşacağı benzersiz referans kodunu temsil eder. Örneğin: ABC123XY, REF8K9L2, INVITE2024
- [ÖDÜL TÜRÜ]: Referans başarılı olduğunda verilecek ödülün kategorisini tanımlar. Örneğin: Indirim kuponu, puan, nakit, ücretsiz ürün, premium üyelik
- [ÖDÜL MİKTARI]: Verilecek ödülün sayısal değerini belirtir. Örneğin: 50 TL, 100 puan, %20 indirim, 1 ay ücretsiz
- [REFERRAL ID]: Referans işleminin veritabanındaki benzersiz kimlik numarasını temsil eder.
- [REWARD ID]: Ödül kaydının veritabanındaki benzersiz kimlik numarasını temsil eder.
Değişkenleri Düzenle
### 1. Veritabanı Şeması Tasarımı
Referral programı için gerekli olan veritabanı tablolarını ([VERİTABANI TÜRÜ] için uygun syntax ile) ve alanlarını tanımla. Tablolar şunları içermelidir:
* **Kullanıcılar (Users):** Temel kullanıcı bilgileri (id, ad, e-posta). Mevcut bir 'users' tablosu olduğunu varsayabiliriz.
* **Referans Kodları (ReferralCodes):** Her kullanıcıya özel referans kodlarını saklar (id, user_id, referral_code, created_at, expires_at, is_active).
* **Referanslar (Referrals):** Kimin kimi referans ettiğini ve durumunu takip eder (id, referrer_user_id, referred_user_id, referral_code_id, status (pending, completed, cancelled), created_at, completed_at).
* **Ödüller (Rewards):** Referanslar sonucunda verilen ödülleri saklar (id, user_id, referral_id, reward_type, reward_amount, status (pending, claimed), created_at, claimed_at).
### 2. Kullanıcı ve Referans Kodu Yönetimi
* **Yeni Kullanıcı Kaydı:** Yeni bir kullanıcı sisteme kaydolduğunda otomatik olarak benzersiz bir referans kodu oluşturulmasını sağlayacak bir fonksiyon yaz. Referans kodunun uzunluğu [REFERRAL KOD UZUNLUĞU] karakter olmalı ve alfanümerik olmalıdır. Bu kodun 'Referans Kodları' tablosuna kaydedilmesini sağla.
* **Referans Kodu Oluşturma:** Mevcut bir kullanıcının henüz bir referans kodu yoksa, ona yeni bir referans kodu oluşturma ve atama fonksiyonu.
* **Referans Kodunu Getirme:** Bir kullanıcının referans kodunu getiren fonksiyon.
### 3. Referans Takibi ve Ödül Mantığı
* **Referans Takibi Fonksiyonu:** Yeni bir kullanıcı [REFERANS KODU] ile kaydolduğunda, bu referans kodunu kullanan kullanıcıyı ('referred_user_id') ve kodu sağlayan kullanıcıyı ('referrer_user_id') 'Referanslar' tablosuna kaydeden bir fonksiyon yaz. Başlangıç durumu 'pending' olmalı.
* **Referans Tamamlama ve Ödül Dağıtımı:** Bir referans işlemi tamamlandığında (örneğin, referans edilen kullanıcı ilk satın alımını yaptığında), 'Referanslar' tablosundaki 'status' alanını 'completed' olarak güncelleyen ve 'Ödüller' tablosuna [ÖDÜL TÜRÜ] ve [ÖDÜL MİKTARI] değerleriyle yeni bir ödül kaydı ekleyen bir fonksiyon oluştur.
* **Ödül Talep Etme Fonksiyonu:** Bir kullanıcının hak kazandığı ödülü talep etmesini sağlayacak ve 'Ödüller' tablosundaki 'status' alanını 'claimed' olarak güncelleyecek bir fonksiyon.
### 4. API Uç Noktaları
Yukarıdaki işlevsellikleri sunan temel RESTful API uç noktalarını tanımla ve örnek kodlarını oluştur:
* `POST /api/register`: Yeni kullanıcı kaydı ve referans kodu oluşturma. (Body: { 'username', 'email', 'password', 'referral_code' (opsiyonel) })
* `GET /api/user/referral-code`: Mevcut kullanıcının referans kodunu getirme. (Auth gerektirir)
* `POST /api/referral/track`: Referans takibi için bir endpoint. (Body: { 'referrer_code', 'referred_user_id' })
* `POST /api/referral/[REFERRAL ID]/complete`: Bir referansı tamamlama ve ödül dağıtma. (Admin veya sistem içi kullanım)
* `POST /api/rewards/[REWARD ID]/claim`: Kullanıcının ödül talep etmesi. (Auth gerektirir)
Her bir bölüm için kısa, açıklayıcı yorumlar ve anahtar fonksiyon imzaları ile başla, CodeWhisperer'ın gerisini tamamlamasına izin ver.
Aşağıdaki gereksinimlere göre, bir referral programı için [PROGRAMLAMA DİLİ] dilinde, [VERİTABANI TÜRÜ] veritabanı ile entegre olacak temel kod yapılarını ve API uç noktalarını oluştur. Odak noktamız hızlı bir MVP geliştirmektir.
### 1. Veritabanı Şeması Tasarımı
Referral programı için gerekli olan veritabanı tablolarını ([VERİTABANI TÜRÜ] için uygun syntax ile) ve alanlarını tanımla. Tablolar şunları içermelidir:
* **Kullanıcılar (Users):** Temel kullanıcı bilgileri (id, ad, e-posta). Mevcut bir 'users' tablosu olduğunu varsayabiliriz.
* **Referans Kodları (ReferralCodes):** Her kullanıcıya özel referans kodlarını saklar (id, user_id, referral_code, created_at, expires_at, is_active).
* **Referanslar (Referrals):** Kimin kimi referans ettiğini ve durumunu takip eder (id, referrer_user_id, referred_user_id, referral_code_id, status (pending, completed, cancelled), created_at, completed_at).
* **Ödüller (Rewards):** Referanslar sonucunda verilen ödülleri saklar (id, user_id, referral_id, reward_type, reward_amount, status (pending, claimed), created_at, claimed_at).
### 2. Kullanıcı ve Referans Kodu Yönetimi
* **Yeni Kullanıcı Kaydı:** Yeni bir kullanıcı sisteme kaydolduğunda otomatik olarak benzersiz bir referans kodu oluşturulmasını sağlayacak bir fonksiyon yaz. Referans kodunun uzunluğu [REFERRAL KOD UZUNLUĞU] karakter olmalı ve alfanümerik olmalıdır. Bu kodun 'Referans Kodları' tablosuna kaydedilmesini sağla.
* **Referans Kodu Oluşturma:** Mevcut bir kullanıcının henüz bir referans kodu yoksa, ona yeni bir referans kodu oluşturma ve atama fonksiyonu.
* **Referans Kodunu Getirme:** Bir kullanıcının referans kodunu getiren fonksiyon.
### 3. Referans Takibi ve Ödül Mantığı
* **Referans Takibi Fonksiyonu:** Yeni bir kullanıcı [REFERANS KODU] ile kaydolduğunda, bu referans kodunu kullanan kullanıcıyı ('referred_user_id') ve kodu sağlayan kullanıcıyı ('referrer_user_id') 'Referanslar' tablosuna kaydeden bir fonksiyon yaz. Başlangıç durumu 'pending' olmalı.
* **Referans Tamamlama ve Ödül Dağıtımı:** Bir referans işlemi tamamlandığında (örneğin, referans edilen kullanıcı ilk satın alımını yaptığında), 'Referanslar' tablosundaki 'status' alanını 'completed' olarak güncelleyen ve 'Ödüller' tablosuna [ÖDÜL TÜRÜ] ve [ÖDÜL MİKTARI] değerleriyle yeni bir ödül kaydı ekleyen bir fonksiyon oluştur.
* **Ödül Talep Etme Fonksiyonu:** Bir kullanıcının hak kazandığı ödülü talep etmesini sağlayacak ve 'Ödüller' tablosundaki 'status' alanını 'claimed' olarak güncelleyecek bir fonksiyon.
### 4. API Uç Noktaları
Yukarıdaki işlevsellikleri sunan temel RESTful API uç noktalarını tanımla ve örnek kodlarını oluştur:
* `POST /api/register`: Yeni kullanıcı kaydı ve referans kodu oluşturma. (Body: { 'username', 'email', 'password', 'referral_code' (opsiyonel) })
* `GET /api/user/referral-code`: Mevcut kullanıcının referans kodunu getirme. (Auth gerektirir)
* `POST /api/referral/track`: Referans takibi için bir endpoint. (Body: { 'referrer_code', 'referred_user_id' })
* `POST /api/referral/[REFERRAL ID]/complete`: Bir referansı tamamlama ve ödül dağıtma. (Admin veya sistem içi kullanım)
* `POST /api/rewards/[REWARD ID]/claim`: Kullanıcının ödül talep etmesi. (Auth gerektirir)
Her bir bölüm için kısa, açıklayıcı yorumlar ve anahtar fonksiyon imzaları ile başla, CodeWhisperer'ın gerisini tamamlamasına izin ver.
Bu Prompt Seni Bekliyor
CodeWhisperer için hazırlanmış bu promptu anında kopyala, kullan.
Ücretsiz üye ol, binlerce prompta eriş.
10 saniyede üye ol, sınırsız prompt keşfet
Nile
Bu prompt kullanmadan önce düzenlemeniz gereken 8 değişken içerir.
Keşfet
Alternatif Araçlar
Biliyor muydunuz?
Yaratıcı yazımda 'Ton: profesyonel ama samimi', 'Hedef kitle: 25-35 yaş girişimciler' gibi bağlam eklemek çıktıyı çok iyileştirir.
En Popüler
Benzer promptlar
Topluluk Görüşleri
Bu içerik hakkında üyeler neler düşünüyor?
Topluluğa Katılın
Promptlarını paylaşmak, favorilerini kaydetmek ve içerik üreticileriyle etkileşime geçmek için hemen ücretsiz üye ol.



