• 30-08-2026, 21:29:08
    #1


    Merhaba,

    Uzun süredir üzerinde çalıştığım Paketora adlı dijital paket/hizmet satış sistemini
    tanıtmak istiyorum. Sosyal medya hizmetleri, lisans satışı, e-pin, ajans hizmetleri ve
    kurumsal paketler gibi dijital ürünleri tek panelden satmak için yazıldı.

    Hazır framework kullanılmadı; kendi MVC altyapısı üzerine kuruldu. Composer bağımlılığı yok.

    En belirgin özelliği: gerçek modüler yapı

    Piyasadaki çoğu scriptte "modül kapatma" sadece menüden link gizler; içerik hâlâ Google'da
    indekslenir, adres elle yazılınca sayfa açılır. Burada öyle değil:

    Bir modül kapatıldığında sistemin tamamı buna uyar:
    • Header, mega menü, mobil menü
    • Ana sayfa blokları, slider, banner, kampanya
    • Kategori ve paket sorguları (her public sorguya modül filtresi girer)
    • Arama ve arama önerileri
    • sitemap.xml
    • Public rotalar → 404 döner (301 yönlendirme yapılmaz)
    • Footer, sepet, ödeme adımı
    • Yönetim paneli menüsü ve dashboard istatistikleri

    Ve en önemlisi: veriler SİLİNMEZ. Modül tekrar açıldığında her şey geri gelir.
    Eski siparişler, kayıtlar, loglar korunur.

    Modüller arası bağımlılık zinciri var: gereksinimi kapalı olan modül, kendi bayrağı
    açık olsa bile etkin sayılmaz. Panelden kapatmaya çalışırsanız hangi modüllerin bağlı
    olduğunu söyleyip engeller.

    Teslimat sistemi - 3 MOD

    Teslimat tipi modüle değil, pakete bağlıdır. Aynı sitede üç tip bir arada çalışır.

    1) Manuel teslimat
    Sipariş kuyruğa düşer, yöneticiye bildirim gider. Panelden İşleme Al / Tamamla /
    İptal / dahili not.

    2) API ile otomatik teslimat (SMM panelleri)
    Bayi panellerinin neredeyse tamamı aynı sözleşmeyi kullanıyor (Perfect Panel şeması —
    JustAnotherPanel, Peakerr vb.). Sistem bu sözleşmenin tamamını uyguluyor:
    • add — 10+ servis tipi (özel yorum, mention, hashtag, anket, abonelik, web trafiği) + dripfeed
    • status — tek sipariş durumu (charge, start_count, remains)
    • status&orderstoplu durum sorgusu, tek istekte 100 siparişe kadar (cron bunu kullanır)
    • refill / refill_status — düşen sayılar için telafi talebi
    • cancel — sipariş iptali
    • services — servis kataloğu senkronu
    • balance — bakiye + düşük bakiye bildirimi

    Yeni panel eklemek için kod yazmanıza gerek yok. API adresi ve anahtarı girmek yeterli.
    Panel farklılıkları ayardan yönetiliyor: sadece GET kabul edenler, anahtarı header'da
    bekleyenler, toplu sorgu desteklemeyenler, farklı para birimi kullananlar.

    Fallback zinciri: bir pakete birden fazla sağlayıcı tanımlayabilirsiniz. İlki hata
    verirse sıradaki denenir, hepsi başarısızsa ayara göre manuel teslimata düşer.
    Sipariş asla kaybolmaz.

    Servis kataloğu ve eşleme ekranı: "Katalogu Senkronla" deyip sağlayıcının binlerce
    servisini çekiyorsunuz; arama/filtre ile bulup paketinize eşliyorsunuz. Servis ID'si elle
    yazılmıyor. Ad, ücret ve min/max sınırları katalogdan kopyalanıyor. Her satırda
    telafi/iptal/dripfeed yetenek rozetleri var.

    Kâr takibi: sağlayıcının döndürdüğü maliyet ile satış tutarından net kâr ve marj
    otomatik hesaplanıyor, dashboard'da ciro/maliyet/net kâr olarak görünüyor.

    3) Dijital kod / stoktan otomatik teslimat
    • Satır satır veya CSV/TXT ile kod yükleme, "KOD|ek bilgi" formatı
    • Tekilleştirme: aynı kod iki kez yüklenemez (benzersiz indeks)
    • Kodlar AES-256-GCM ile şifreli saklanır, listede maskeli görünür (TEST••••••1111)
    • Tam görüntüleme yetki ister ve kayıt altına alınır
    • Yarış durumu koruması: SELECT ... FOR UPDATE + tek transaction — iki müşteri son kodu alamaz
    • Stok bitince "Stok Tükendi", sepete ekleme sunucu tarafında reddedilir

    Ödeme sistemi

    Adaptör mimarisi controller sağlayıcıyı tanımaz, yeni sağlayıcı eklemek bir sınıf yazmaktır.

    Havale/EFT Manuel bildirim Admin onayı
    PayTR
    iyzico
    Stripe
    PayPal

    Ödeme zaman aşımı: tamamlanmayan siparişler otomatik iptal edilir ve stok/dijital kod
    geri yüklenir
    . Kart ve havale için ayrı süre tanımlı havale seçen müşterinin siparişi
    o bankaya varmadan iptal olmasın diye (varsayılan kart 60 dk, havale 72 saat).
    Ödemesi alınmış sipariş asla iptal edilmez.

    İade: kısmi ve tam iade, sabit idempotency anahtarı ile ağ hatasından sonra tekrar
    denenirse sağlayıcı ikinci kez para iade etmez.

    Yönetim paneli

    Yatay menü (kenar çubuğu yok): Kontrol Paneli · Katalog · Satış · Pazarlama · İçerik · Sistem.
    Klavye ile gezilir, dar ekranda şerit yatay kayar.

    Menü yetki ve modül durumuna göre üretilir — yetkisi olmayan veya modülü kapalı bölüm
    hiç basılmaz. "Yakında" / "yok" yazan boş ekran bırakılmadı.

    Ekranlar:
    • Katalog: Kategoriler, Paketler, Stok & Dijital Kodlar, Platformlar
    • Satış: Siparişler (detay/teslimat/iade), Müşteriler, Terk Edilmiş Sepetler
    • Pazarlama: Kampanyalar, Kuponlar (+ kullanım geçmişi)
    • İçerik: Ana Sayfa Blokları, Slider, Medya, Banner & SSS, Blog, Sayfalar, Menüler, Koleksiyonlar, Yorumlar, Destek Talepleri
    • Sistem: Modüller, Ödeme Yöntemleri, Entegrasyonlar (+ servis kataloğu), Ayarlar, Sipariş Durumları, Yönlendirmeler, Yöneticiler, Yedekleme, İşlem Kayıtları

    Öne çıkanlar:

    Terk Edilmiş Sepetler — sepete ürün ekleyip tamamlamayan ziyaretçiler. Eşik seçilebilir
    (1 saat – 7 gün). Tutarlar sepette saklanan değerden değil güncel paket fiyatından
    hesaplanır. Misafir sepetinin oturum jetonu sayfaya basılmaz.

    Koleksiyonlar — kategori ağacından bağımsız, elle derlenmiş paket seçkileri
    ("Yeni Başlayanlar İçin" gibi). Kendi sayfası, ana sayfa bloğu ve sitemap kaydı var.

    Medya kütüphanesi — uzantı beyaz listesi, gerçek MIME dosya içeriğinden okunur
    (istemcinin bildirdiğine güvenilmez), dosya adı tamamen yeniden üretilir, hedef dizinde
    PHP çalıştırma kapalı. SVG kabul edilmez (içine script gömülebilir).

    Yedekleme — veritabanını SQL olarak indirir. mysqldump çağrılmaz (paylaşımlı hostingde
    exec kapalı olabilir), dump PDO ile üretilir. Dosya sunucuda saklanmaz, doğrudan indirtilir.

    Yöneticiler — 5 rol, 18 yetki anahtarı. Kilitlenmeye karşı korumalar: son süper yönetici
    pasife alınamaz, yönetici kendi rolünü değiştiremez. Hesap silinmez, pasife alınır.

    Müşteri tarafı
    • Üyelik: kayıt, giriş, parola sıfırlama (SHA-256 hash'li jeton, 60 dk, tek kullanımlık), hesabım, sipariş geçmişi
    • Kullanıcı numaralandırma engelli — var olmayan hesapta da sahte doğrulama yapılır, yanıt süresi eşitlenir
    • Destek sistemi: talep açma ve yanıtlarda görsel/PDF eki. Ekler web'den erişilemeyen dizinde; indirme jeton veya yetkili oturum ister
    • Yorumlar: onaya düşer, "doğrulanmış alışveriş" rozeti gerçekten sipariş kaydından hesaplanır
    • Favoriler ve Karşılaştırma
    • Sipariş sorgulama: numara + ikinci doğrulayıcı (IDOR koruması)
    • Sepet kalıcılığı: misafirde 30 günlük çerez, üyede hesaba bağlı. Girişte sepetler birleşir. Tutar sepete hiç yazılmaz, her okumada DB'den hesaplanır

    3 satış modu: commerce (sepet+ödeme) · quote_only (teklif formu) · catalog_only (fiyatsız vitrin)

    SEO ve Erişilebilirlik
    • Her sayfa tipinde title, description, canonical, Open Graph, Twitter Card
    • JSON-LD: Organization, WebSite, Product+Offer, BreadcrumbList, CollectionPage, BlogPosting, FAQPage
    • Puan verisi yalnız gerçek onaylı yorum varsa eklenir (sahte yıldız yok)
    • Sepet, ödeme, arama, üyelik, 404 → noindex
    • sitemap.xml yalnız aktif ve modülü açık içeriği listeler
    • 301 yönlendirme yönetimi — slug değişince eski adres SEO değerini korur
    • WCAG AA kontrast, skip link, klavye ile gezilebilir menüler, :focus-visible, prefers-reduced-motion
    • Frontend 13 sayfa × 15 genişlik, admin 13 ekran × 8 genişlik yatay taşma testinden geçti

    Güvenlik
    • Tüm sorgular PDO prepared statement
    • CSRF her POST'ta zorunlu
    • Rate limit: giriş 6/5dk, sorgulama 10/5dk
    • Hesap kilidi: 5 hatalı girişte 15 dakika
    • Yetkilendirme rota seviyesinde — menü gizlemek yeterli sayılmadı
    • API anahtarı ve SMTP parolası AES-256-GCM ile şifreli
    • IP ham saklanmaz, tuzlanmış hash tutulur
    • Loglarda parola/anahtar maskelenir

    Teknik
    • PHP 8.2+ / MySQL 5.7+ / MariaDB
    • Özel MVC — hazır framework ve Composer bağımlılığı yok
    • Bootstrap 5 + Vanilla JS (jQuery yok)
    • 58 tablo, 23 migration, 21 modül, 228 rota
    • Kök dizinde veya alt dizinde çalışır (RewriteBase gerekmez)
    • Bakım modu: ziyaretçiye 503 + Retry-After, yönetici siteyi normal görür
    • Cron betikleri: sağlayıcı senkronu, ödeme zaman aşımı, sepet temizliği (--dry-run destekli)

    Dürüst notlar

    • Stripe ve PayPal canlı hesapla test edilmedi. Uç noktalar, imza algoritmaları ve tutar
      birimleri resmî dokümanlarla karşılaştırıldı ve imzayı gerçekten doğrulayan mock'larla sınandı;
      ancak gerçek 3DS ekranı görülmedi. Yayına almadan önce sandbox ile birer test ödeme yapılmalı.
      PayTR ve iyzico uçtan uca test edildi.
    • Nginx/LiteSpeed kullanıyorsanız hassas dizin korumaları .htaccess'e bağlı olduğu için
      sunucu bloğuna kural eklemek zorunlu README'de hazır konfigürasyon var.
    • Uygulama içinde otomatik yedekleme zamanlayıcısı yok; panelden manuel SQL indirme var.

    1 Adet Ömür Boyu Lisans: 5.000 TL
  • 30-08-2026, 22:14:13
    #2
    🎩 SMM PANEL YAZILIMI 🎩
    Hayırlı satışlar tema çok hoş olmuş.
  • 30-08-2026, 22:18:14
    #3
    PRIMEPANEL adlı üyeden alıntı: mesajı görüntüle
    Hayırlı satışlar tema çok hoş olmuş.
    Değerli güzel yorumunuz için çok teşekkür ederim hocam 🙏
  • 01-09-2026, 09:50:32
    #4
    hayırlı satışlar dilerim.