Ana içeriğe geç

Sertifika & Rozet Kuralları

Akademi Eğitim Platformu Sertifika & Rozet Kurallarır Dökümanı

Sertifika ve Rozet Kural Sistemi

1. certificate_badge_rules

Sertifika & Rozet Kuralları (Ana Tablo)

AlanTipAçıklama
ruleIdint (PK)Kural ID
academyIdbigintAkademi ID
ruleTypeenumcertificate, badge, both
namevarchar(500)Kural adı
descriptiontextAçıklama
conditionTypeenumcompletion, score, time, custom
conditionsjsonKural koşulları
triggerTypeenumauto, manual, scheduled
schedulejsonZamanlama
rewardTypeenumcertificate, badge, both
certificateIdintSertifika template
badgeIdintRozet ID
statusenumactive, paused, draft, archived
priorityintÖncelik
maxAwardsintMaksimum ödül
isCumulativebooleanBirden fazla hedef gerekli mi
requiredCountintGerekli hedef sayısı
effectiveFromdatetimeBaşlangıç tarihi
effectiveTodatetimeBitiş tarihi
totalEligibleintUygun kullanıcı
totalAwardedintVerilen ödül
lastRunAtdatetimeSon çalışma zamanı
lastRunStatusenumJob durumu
createdAtdatetimeOluşturulma
createdByintOluşturan
updatedAtdatetimeGüncelleme
updatedByintGüncelleyen

Indexler

  • (academyId, status)
  • (ruleType, status)
  • (lastRunAt)

2. rule_targets

Kural - Hedef İlişki Tablosu (Çoka Çok)

AlanTipAçıklama
ruleTargetIdbigint (PK)ID
ruleIdintKural ID
targetTypeenumcourse, module, learning_path, category, academy
targetIdbigintHedef ID
requirementjsonHedefe özel koşullar
weightintAğırlık
isRequiredbooleanZorunlu
createdAtdatetimeOluşturulma

Indexler

  • (ruleId)
  • (targetType, targetId)

Unique

  • (ruleId, targetType, targetId)

3. rule_execution_history

Kural Çalışma Geçmişi

AlanTipAçıklama
executionIdbigint (PK)ID
ruleIdintKural
executedAtdatetimeÇalışma zamanı
statusenumJob durumu
totalProcessedintİşlenen
totalAwardedintVerilen ödül
errorsintHata sayısı
executionTimeintSaniye
logjsonİşlem logları

Indexler

  • (ruleId, executedAt)
  • (status)

4. user_rule_progress

Kullanıcı - Kural - Hedef İlerleme

AlanTipAçıklama
userProgressIdbigint (PK)ID
userIdintKullanıcı
ruleIdintKural
targetTypeenumhedef türü
targetIdbiginthedef ID
progressdecimalilerleme (%)
scoredecimalpuan
completedAtdatetimetamamlanma
statusenumhedef durumu
detailsjsondetaylar
updatedAtdatetimegüncelleme

Indexler

  • (userId, ruleId)
  • (targetType, targetId)
  • (status)

Unique

  • (userId, ruleId, targetType, targetId)

5. user_rule_status

Kullanıcı Kural Durumu

AlanTipAçıklama
userRuleIdbigint (PK)ID
userIdintKullanıcı
ruleIdintKural
statusenumpending, eligible, awarded, expired
progressjsongenel ilerleme
completedTargetsinttamamlanan
requiredTargetsintgerekli
eligibleAtdatetimeuygunluk
awardedAtdatetimeödül zamanı
awardedByenumödül veren
expiresAtdatetimebitiş
createdAtdatetimeoluşturulma

Indexler

  • (userId, status)
  • (ruleId, status)
  • (eligibleAt)

Unique

  • (userId, ruleId)

6. badges

Rozet Tanımları

AlanTipAçıklama
badgeIdint (PK)ID
academyIdbigintAkademi
namevarcharRozet adı
descriptiontextAçıklama
iconvarcharFontAwesome veya SVG
colorvarcharCSS renk
categoryvarcharachievement, skill, participation
levelint1=Bronz, 2=Gümüş, 3=Altın, 4=Platin
rarityenumcommon, rare, epic, legendary
maxAwardsintmaksimum
isActivebooleanaktif
imageUrlvarchargörsel
animationvarcharanimasyon
totalAwardedintverilen
uniqueHoldersintbenzersiz
createdAtdatetimeoluşturma
createdByintoluşturan

Indexler

  • (academyId)
  • (category)

7. user_badges

Kullanıcı Rozetleri

AlanTipAçıklama
userBadgeIdbigint (PK)ID
userIdintkullanıcı
badgeIdintrozet
ruleIdintkural
awardedAtdatetimeverilme zamanı
awardedByenumsistem veya manuel
expiresAtdatetimebitiş
isDisplayedbooleanprofilde göster

Indexler

  • (userId)
  • (badgeId)

Unique

  • (userId, badgeId)

Enum Tanımları

enum_certificate_badge_rule_type

  • certificate
  • badge
  • both

enum_rule_target_type

  • academy
  • course
  • module
  • learning_path
  • category

enum_rule_condition_type

  • completion
  • score
  • time
  • quiz
  • assignment
  • attendance
  • custom

enum_rule_trigger_type

  • auto
  • manual
  • scheduled

enum_rule_reward_type

  • certificate
  • badge
  • both

enum_rule_status

  • active
  • paused
  • draft
  • archived

enum_job_status

  • pending
  • running
  • completed
  • failed
  • partial

enum_user_rule_status

  • pending
  • in_progress
  • eligible
  • awarded
  • expired

enum_user_target_status

  • not_started
  • in_progress
  • completed
  • failed

enum_awarded_by

  • system
  • admin
  • instructor
  • auto

enum_badge_rarity

  • common
  • rare
  • epic
  • legendary