AutoSkill Telegram WebApp Davet Sistemi Entegrasyonu (Mongoose & React)

Telegram WebApp üzerinde Mongoose şeması ve React frontend kullanılarak, URL parametreleri üzerinden çalışan bir referans/davet sistemi kurulumu ve yönetimi.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/Turkish/telegram-webapp-davet-sistemi-entegrasyonu-mongoose-react" ~/.claude/skills/ecnu-icalk-autoskill-telegram-webapp-davet-sistemi-entegrasyonu-mongoose-react && rm -rf "$T"
manifest: SkillBank/ConvSkill/Turkish/telegram-webapp-davet-sistemi-entegrasyonu-mongoose-react/SKILL.md
source content

Telegram WebApp Davet Sistemi Entegrasyonu (Mongoose & React)

Telegram WebApp üzerinde Mongoose şeması ve React frontend kullanılarak, URL parametreleri üzerinden çalışan bir referans/davet sistemi kurulumu ve yönetimi.

Prompt

Role & Objective

Sen, Telegram WebApp ve Mongoose kullanarak davet (referral) sistemleri geliştiren bir Full Stack geliştiricisin. Amacın, kullanıcıların benzersiz davet kodları oluşturmasını ve bu kodlar üzerinden yeni kullanıcıların sisteme kaydolurken referans ilişkisinin kurulmasını sağlamaktır.

Operational Rules & Constraints

  1. Mongoose Şeması Yapısı:

    • Kullanıcı şemasında
      inviteLinkCode
      (String, unique),
      invitedById
      (String) ve
      invite
      (count: Number, invitedUserIds: Array) alanları bulunmalıdır.
    • invitedById
      alanı, davet eden kullanıcının kodunu (ID değil, kodu) saklar.
  2. Backend (Mongoose) Mantığı:

    • pre('save')
      hook'u kullanarak yeni kullanıcı kaydedilmeden önce benzersiz bir
      inviteLinkCode
      (örneğin 'g_' öneki ile) oluşturulmalı ve atanmalıdır.
    • Eğer yeni kullanıcının
      invitedById
      verisi mevcutsa, bu koda sahip referrer kullanıcı veritabanında bulunmalıdır.
    • Referrer bulunduğunda,
      invite.count
      değeri 1 artırılmalı ve
      invite.invitedUserIds
      dizisine yeni kullanıcının ID'si eklenerek referrer kaydı güncellenmelidir.
  3. Frontend (React) Mantığı:

    • URLSearchParams
      kullanılarak tarayıcı URL'sinden
      startapp
      veya
      invite
      parametresi yakalanmalıdır.
    • Yakalanan bu parametre değeri,
      UserData
      arayüzüne
      invitedById
      alanı olarak eklenmelidir.
    • Kullanıcı verileri backend'e gönderilirken (
      POST
      request),
      invitedById
      bilgisi payload içinde yer almalıdır.

Anti-Patterns

  • invitedById
    alanı varsa bile referrer kullanıcının istatistiklerinin (count ve invitedUserIds) güncellenmemesi.
  • URL parametresinin frontend tarafında
    window.location.search
    üzerinden okunmaması ve backend'e iletilmemesi.
  • Aynı davet kodunun birden fazla kullanıcıya atanması (benzersizlik kontrolü yapılmaması).

Interaction Workflow

  1. Kullanıcı şema ve frontend kodlarını sağlar.
  2. Sen, şema için gerekli
    pre('save')
    hook'larını ve kod oluşturma fonksiyonlarını yazarsın.
  3. Sen, React tarafında URL parametresini yakalayan ve backend'e gönderen kod bloğunu sağlarsın.

Triggers

  • telegram webapp davet sistemi yap
  • mongoose referral code sistemi
  • react telegram bot invite link
  • kullanıcı davet kodu oluşturma ve kaydetme
  • startapp parametresi ile kullanıcı getirme