Final Plan v4

Muzibu Sertifika Sistemi

31 Aralık 2025 - Onaylanmış Final Plan

Alınan Kararlar

Erişim: Sadece aktif premium üyeler
Kayıt: DB'ye kaydet (doğrulama için)
Dil: Sadece Türkçe
Tasarım: Dark mode + Gold
Format: A4 Yatay (Landscape)
Tablo: Tek tablo (certificates)
Sayaç: view_count (ziyarette +1)
URL: Hash bazlı (ID gizli)

Nasıl Çalışacak? (Basit Anlatım)

1

Üye dashboard'a girer

"Sertifikamı İndir" butonu görür

2

Butona tıklar

Sistem sertifikayı oluşturur (ilk seferde) veya mevcut olanı verir

3

PDF indirilir

Şık sertifika + QR kod içerir

4

Biri QR'ı tarar

muzibu.com/verify/xyz123 açılır → "Geçerli" veya "Geçersiz" yazar

Veritabanı: certificates

Tek tablo, basit yapı:

Kolon Tip Açıklama
id bigint Primary key (dahili kullanım)
user_id bigint Sertifika sahibi (değiştirilemez)
subscription_id bigint İlgili abonelik
certificate_code varchar(32) Görünen kod: MZB-2025-A1B2
qr_hash varchar(64) URL'de kullanılan şifreli hash (ID yerine bu kullanılır)
member_name varchar Üye adı (snapshot)
member_email varchar Üye email (snapshot)
membership_start date Üyelik başlangıç
membership_end date Üyelik bitiş
plan_name varchar Plan adı (Yıllık Premium vb.)
view_count int Sayaç: Doğrulama sayfası her açıldığında +1
issued_at datetime Sertifika oluşturulma tarihi
is_valid boolean Geçerli mi? (admin iptal edebilir)
timestamps datetime created_at, updated_at

Güvenlik: Hash Bazlı URL

ID yerine hash kullanılır, kimse başkasının sertifikasını tahmin edemez:

❌ Yanlış (ID ile)

/verify/1 /verify/2 /verify/3

Herkes sırayla deneyebilir!

✅ Doğru (Hash ile)

/verify/a8f3d2e1... /verify/7bc92fa4...

Tahmin edilemez, sadece QR'dan ulaşılır

Sertifika Tasarımı (Dark + Gold)

Muzibu

Premium

Premium Üyelik

SERTİFİKASI

Bu belge,

[Ad Soyad]

kişisinin Muzibu Premium üyesi olduğunu tasdik eder.

Başlangıç

[01.01.2025]

Geçerlilik

[01.01.2026]

Plan

[Yıllık Premium]

Doğrulamak için tarayın

Sertifika No

MZB-2025-XXXX

muzibu.com/verify • Bu sertifika QR kod ile doğrulanabilir

Doğrulama Sayfası (/verify/{hash})

Geçerli Sertifika

Ad Soyad: Ahmet Yılmaz

Üyelik: 01.01.2025 - 01.01.2026

Plan: Yıllık Premium

Sertifika No: MZB-2025-A1B2

Görüntülenme: 47 kez

Geçersiz Sertifika

Bu sertifika bulunamadı veya iptal edilmiş.

Oluşturulacak Dosyalar

Modules/Subscription/database/migrations/tenant/create_certificates_table.php
Modules/Subscription/app/Models/Certificate.php
Modules/Subscription/app/Services/CertificateService.php
Modules/Subscription/app/Http/Controllers/Front/CertificateController.php
Modules/Subscription/resources/views/certificate/template.blade.php
resources/views/themes/muzibu/certificate/verify.blade.php

URL Yapısı

GET /my-certificate Auth

Sertifika PDF indir (sadece giriş yapmış premium üye)

GET /verify/{hash} Public

Sertifika doğrulama sayfası (herkes erişebilir, view_count +1)

Sistem Akışı

1

Üye "Sertifikamı İndir" butonuna tıklar

Dashboard sayfasında buton görünür (sadece aktif premium üyelere)

2

Sistem sertifika oluşturur veya mevcut olanı getirir

İlk indirmede DB'ye kayıt oluşur, sonrakilerde aynı sertifika verilir

3

PDF oluşturulur ve indirilir

Dark gold tasarım, A4 yatay, QR kod içerir

4

Biri QR kodu tarar

/verify/{hash} açılır → Sertifika bilgileri gösterilir → view_count +1

Gereksinimler

barryvdh/laravel-dompdf

PDF oluşturma (zaten yüklü)

simplesoftwareio/simple-qrcode

QR kod oluşturma (yüklenecek)

.env ayarı

CERTIFICATE_SECRET_KEY=random_string

Migration

php artisan tenants:migrate