Merhabalar,
Birkaç ay önce bir topluluk projesi kurmak istedim. Forum yazılımlarını araştırırken şu gerçeklerle karşılaştım:
phpBB/vBulletin - 2000'lerin teknolojisi, modern değil
Discourse - Harika ama Ruby + Docker gerektirir, minimum $5/ay server maliyeti
Flarum - Henüz 1.0 olmadı, eklenti ekosistemi zayıf
XenForo - $195 lisans + yıllık yenileme ücreti
Sonra dedim ki: "Ben yazılımcıyım, neden kendi forum sistemimi yapmayayım?"


🎯 Ve Zunvo Doğdu

Zunvo, modern web standartlarıyla, tamamen açık kaynak, sıfırdan geliştirdiğim bir forum platformu.

💎 Temel Prensipleri

  1. Karmaşık olmamalı → Framework'süz, saf PHP ile hafif ve anlaşılır
  2. Pahalı olmamalı → %100 ücretsiz, GPL v3 lisanslı
  3. Özgürlüğü kısıtlamamalı → Kodun tamamına sahipsiniz
🏗️ Teknik Mimari

Stack & Teknolojiler


Dil: PHP 8.0+ (OOP, Modern Syntax)
Veritabanı: MySQL 5.7+ / MariaDB 10.2+
Frontend: Vanilla JavaScript + CSS3
Bağımlılık: SIFIR ❌ (Composer yok, npm yok)
Hosting: Ucuz shared hostinglerde çalışır

Neden Framework Kullanmadım?


3 Ana Sebep:
  1. Hafiflik - Framework'ler gereksiz şişkinlik getirir (Laravel 100+ MB)
  2. Bağımsızlık - Composer paketleri güncelleme sorunları yaratır
  3. Öğrenme Kolaylığı - Herkes saf PHP biliyorsa katkı yapabilir
Tasarım Deseni (MVC Benzeri):
Request → Router → Controller → Model → Database

View → Response


🔐 Güvenlik Önlemleri (Kritik!)

Modern güvenlik standartlarıyla geliştirildi:
✅ SQL Injection → PDO Prepared Statements
✅ XSS Saldırıları → htmlspecialchars() output escape
✅ CSRF Koruması → Token sistemi (form + AJAX)
✅ Brute Force → Rate limiting + captcha
✅ Şifre Güvenliği → bcrypt (password_hash)
✅ Session Hijacking → Secure, HttpOnly cookies
✅ File Upload → Mime type + extension kontrolü
Güvenlik testleri planlanıyor:
  • OWASP Top 10 compliance
  • Penetrasyon testleri
  • Security audit (community-driven)
✨ Kullanıcı Özellikleri

Ana Özellikler

  • 🎨 Modern, Responsive Tasarım - Mobile-first yaklaşım
  • 🌙 Dark Mode - Göz dostu karanlık tema
  • ⬆️⬇️ Upvote/Downvote Sistemi - Reddit tarzı oy mekanizması
  • 🔔 Gerçek Zamanlı Bildirimler - AJAX polling ile anında bildirim
  • 🔍 Gelişmiş Arama - Full-text search (başlık + içerik)
  • 🏷️ Etiket Sistemi - #hashtag desteği
  • 👥 Rol Yönetimi - User, Moderator, Admin
  • 🎖️ Reputasyon Sistemi - Kullanıcı seviye sistemi
  • 🔧 Moderation Tools - İçerik yönetimi araçları
  • 📊 İstatistikler - Detaylı analytics

Teknik Özellikler


✅ SEO Friendly URLs (/kategori/genel, /konu/baslik-123)
✅ Lazy Loading (Hızlı sayfa yükleme)
✅ Cache Sistemi (File-based, Redis ready)
✅ AJAX Operations (Fetch API ile modern yaklaşım)
✅ Progressive Web (PWA ready)


🔌 Plugin Sistemi (En Güçlü Yanı!)

WordPress'ten ilham alınan hook tabanlı mimari:

Plugin Örneği


// plugins/spam-filter/plugin.php
class SpamFilter {
public function __construct() {
// Hook'a kayıt ol
Hook::register('before_post_create', [$this, 'checkSpam']);
}

public function checkSpam($data) {
// Spam kontrolü yap
if ($this->isSpam($data['content'])) {
return false; // Post'u engelle
}
return $data; // İzin ver
}

private function isSpam($content) {
// Spam detection mantığı
return false;
}
}

Mevcut Hook'lar (20+)


before_post_create after_post_create
before_user_register after_user_register
before_topic_view after_topic_view
before_vote after_vote
before_notification after_notification
... ve daha fazlası

Plugin Metadata


{
"name": "Spam Filter",
"version": "1.0.0",
"author": "Your Name",
"description": "Spam gönderileri engeller",
"hooks": ["before_post_create"]
}
Önemli: GPL v3 ile Zunvo ücretsiz ama eklentilerinizi satabilirsiniz! (WordPress modeli)


🎨 Tema Sistemi

Override tabanlı, esnek tema yapısı:

Klasör Yapısı


themes/benim-temam/
├── theme.json # Tema bilgileri
├── style.css # Ana CSS
├── assets/
│ ├── logo.png
│ └── background.jpg
└── views/
├── home.php # Ana sayfa override
├── topic.php # Konu sayfası override
└── profile.php # Profil override

Tema Metadata


{
"name": "Modern Blue",
"version": "1.0.0",
"author": "Designer Name",
"description": "Mavi tonlu modern tema",
"screenshot": "screenshot.png"
}
Tema aktif/pasif yapabilir, birden fazla tema kurabilirsiniz.


📊 Veritabanı Şeması

Normalize edilmiş, performans odaklı yapı:

Ana Tablolar


users (id, username, email, reputation, role)
topics (id, title, slug, views, is_pinned, is_locked)
posts (id, content, upvotes, downvotes, is_solution)
votes (user_id, post_id, vote_type)
notifications (user_id, type, message, is_read)
categories (id, name, slug, description)
tags (id, name, slug, usage_count)
plugins (id, name, slug, is_active, settings)
themes (id, name, slug, is_active)
Optimize Edilmiş:
  • ✅ Foreign key constraints
  • ✅ Index'ler (slug, created_at, user_id vb.)
  • ✅ ON DELETE CASCADE ilişkiler
  • ✅ InnoDB engine (transaction support)
Tam SQL şeması GitHub'da mevcut.


📈 Şu Anki Durum

⚠️ Geliştirme Aşamasında


Tamamlanan:
  • Proje mimarisi ve tasarım
  • Veritabanı şeması (14 tablo)
  • Core sistem bileşenleri
  • Routing sistemi
  • Güvenlik fonksiyonları
  • Plugin/tema altyapısı
Geliştirmede:
  • Kullanıcı sistemi (Auth, profil)
  • Forum özellikleri (Topic, post)
  • Upvote/downvote sistemi
  • Bildirim sistemi
  • Admin paneli
Sırada:
  • RESTful API
  • Webhook sistemi
  • Performans optimizasyonu
  • SEO iyileştirmeleri
  • Dokümantasyon

🎯 Yayın Takvimi


v1.0.0 Hedef: Q2 2026 (Nisan-Haziran)
Şu ana kadar ~15,000 satır kod (hedef) yazıldı. Tüm geliştirme süreci GitHub'da açık şekilde takip edilebilir.


💡 Neden Zunvo?

🎯 Hedef Kitle

  • 🎮 Gaming Communities - Oyuncu toplulukları
  • 💼 Startup Forum - Girişim toplulukları
  • 🎓 Eğitim Kurumları - Öğrenci forumları
  • 🏘️ Yerel Topluluklar - Mahalle, şehir forumları
  • 🛠️ Teknik Destek - Ürün destek platformları
  • 🤝 Hobi Grupları - Özel ilgi alanları
Hosting Gereksinimi:
  • Minimum 512 MB RAM
  • 100 MB disk alanı
  • PHP 8.0+ ve MySQL
  • Aylık maliyet: $3-5 (shared hosting)
🤝 Katkıda Bulunma

Zunvo açık kaynak ve topluluk odaklı. Her türlü katkıya açığız!

Aradığımız Kişiler

  • 💻 Core Developers - PHP 8.0+ deneyimi
  • 🔒 Security Experts - Güvenlik audit
  • 🎨 UI/UX Designers - Arayüz tasarımı
  • 📝 Technical Writers - Dokümantasyon
  • 🌍 Translators - Çeviri (TR, EN, DE, FR vb.)
  • 🧪 QA Testers - Beta test

Katkı Süreci


# 1. Fork + Clone
git clone https://github.com/bnsware/Zunvo.git
cd zunvo

# 2. Branch oluştur
git checkout -b feature/amazing-feature

# 3. Değişikliklerini yap
# ... kodlama ...

# 4. Commit + Push
git commit -m "feat: harika özellik eklendi"
git push origin feature/amazing-feature

# 5. Pull Request aç
# GitHub'da PR oluştur
Kodlama Standartları:
  • PSR-2 code style
  • Anlamlı commit mesajları
  • Her özellik için test
  • Türkçe yorum satırları
  • Dokümantasyon güncel tutulmalı
❓ Sık Sorulan Sorular

S: Neden Discourse değil de Zunvo?


C: Discourse harika ama Ruby gerektirir, Docker kurulumu karmaşık, hosting maliyeti yüksek. Zunvo ucuz shared hostinglarda bile çalışır.

S: WordPress + bbPress kullanamaz mıyım?


C: Kullanabilirsiniz ama native forum kadar optimize olmaz. Zunvo baştan forum için tasarlandı.

S: Neden framework kullanmadınız?


C:
  • Bağımlılıksız olsun istedim
  • Hafif ve hızlı olsun
  • Herkes anlasın ve katkı yapabilsin
  • Update sorunları olmasın

S: Para kazanabilir miyim?


C: Evet! GPL v3 ile Zunvo ücretsiz ama eklentilerinizi/temalarınızı satabilirsiniz. WordPress, Joomla gibi.

S: Discourse'dan geçiş mümkün mü?


C: v1.0'da import aracı gelecek. Discourse, phpBB, vBulletin'den veri aktarımı.

S: Mobil uygulama olacak mı?


C: PWA (Progressive Web App) desteği gelecek. Native app şimdilik planlanmıyor.

S: Kaç kişi çalışıyor projede?


C: Solo geliştiriyorum. Proje açık kaynak ve topluluk katkılarına açık. Katkıcılar bekliyoruz! 🙏

S: Ticari projemde kullanabilir miyim?


C: Evet! GPL v3 ticari kullanıma izin verir. Değiştirip satabilirsiniz bile (kaynak kodunu da vermeniz gerekir).


💭 Geri Bildirim Bekliyorum

Sizden Öğrenmek İstediğim Şeyler:

  1. Mimari eleştirisi? - Daha iyi bir yaklaşım var mı?
  2. Güvenlik endişeleri? - Hangi yönler risk taşıyor?
  3. Özellik önerileri? - Hangi özellikler olmazsa olmaz?
  4. Kullanır mısınız? - Zunvo'yu projenizde kullanır mıydınız?
  5. Hangi forumlara benzemeli? - Reddit? Stack Overflow? Discourse?

🙏 Sizden Ricam

  1. GitHub'da yıldız verin - Destek olursunuz
  2. 💭 Fikirlerinizi paylaşın - Hangi özellikleri istersiniz?
  3. 🧪 Beta testi - Yayınlandığında test etmek ister misiniz?
  4. 🌍 Çeviri yardımı - Hangi dilleri biliyorsunuz?
  5. 📢 Paylaşın - Sosyal medyada bahsetmek çok yardımcı olur
🔗 Bağlantılar
  • GitHub: https://github.com/bnsware/Zunvo
  • Lisans: GNU GPL v3.0
  • Durum: Alpha (Aktif Geliştirme)
  • Discussions: GitHub Discussions (sorular için)
  • Issues: GitHub Issues (bug raporları için)
📊 Proje İstatistikleri

Kod Satırı: ~15,000 (hedef)
Dosya Sayısı: ~150+
Diller: PHP, JavaScript, CSS
Durum: Aktif geliştirme aşamasında
Katkıcılar: Sizi bekliyoruz!


🌟 İlham Kaynakları

Zunvo, bu harika açık kaynak projelerden ilham aldı:
  • phpBB - Açık kaynak forum öncüleri
  • MyBB - Esnek ve özelleştirilebilir yapı
  • Flarum - Modern kullanıcı deneyimi
  • Discourse - Gelişmiş özellikler ve UX
  • WordPress - Plugin/tema ekosistemi
🎯 Final

Uzun bir yazı oldu ama Zunvo'yu tüm yönleriyle anlatmak istedim.
Hem hikaye anlattım (neden yaptım), hem teknik detay verdim (nasıl yaptım).
Sorularınız, önerileriniz, eleştirileriniz için buradayım. Katkıda bulunmak isterseniz GitHub'da beklerim!


Yıldız vermeyi unutmayın:
https://github.com/bnsware/Zunvo
Teşekkürler! 🙏
Not: Bu yazıyı paylaşırken lütfen GitHub linkini eklemeyi unutmayın. Projenin gelişimini takip etmek isteyen herkes için önemli!