Ne yapıyor? Muzibu.com'daki işletmelerin (tenant'ların) özel kampanya sayfaları oluşturmasını sağlayan bir sistem.
Neden önemli?
Nasıl çalışıyor?
Kullanıcı muzibu.com/l/kampanya-adi adresine girdiğinde,
sistem veritabanından bu kampanyayı bulur ve özel tasarlanmış sayfayı gösterir.
Modules/Landing/
├── resources/
│ └── views/
│ └── pages/
│ ├── 1001/ # Tenant ID (Muzibu)
│ │ ├── yeni-yil-kampanya/
│ │ │ └── homepage.blade.php
│ │ ├── black-friday/
│ │ │ └── homepage.blade.php
│ │ └── ucretsiz-deneme/
│ │ └── homepage.blade.php
│ └── 1002/ # Başka tenant
│ └── bahar-kampanya/
│ └── homepage.blade.php
Format: {MODULE}/resources/views/pages/{TENANT_ID}/{SLUG}/homepage.blade.php
Tablo: landings (Tenant Database)
CREATE TABLE landings (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL, -- "Yeni Yıl Kampanyası"
slug VARCHAR(255) UNIQUE NOT NULL, -- "yeni-yil-kampanya"
blade_path VARCHAR(500) NOT NULL, -- "1001/yeni-yil-kampanya/homepage"
meta_title VARCHAR(255), -- SEO başlık
meta_description TEXT, -- SEO açıklama
is_active BOOLEAN DEFAULT 1,
created_at TIMESTAMP,
updated_at TIMESTAMP
);
https://muzibu.com/l/{slug}
Örnekler:
https://muzibu.com/l/yeni-yil-kampanya
https://muzibu.com/l/black-friday
https://muzibu.com/l/ucretsiz-deneme
Route: Modules/Landing/routes/web.php
Route::get('/l/{slug}', [LandingController::class, 'show'])
->name('landing.show');
Controller: LandingController.php
public function show($slug)
{
$landing = Landing::where('slug', $slug)
->where('is_active', true)
->firstOrFail();
return view("Landing::pages.{$landing->blade_path}", [
'landing' => $landing,
]);
}
Admin Panel Upload - Blade dosyası upload özelliği
Versiyon Kontrolü - Landing versiyonlarını saklama
A/B Testing - Farklı varyantları test etme
Analytics - Ziyaretçi tracking ve conversion
Custom Domain - Landing'lere özel domain
Template Library - Hazır template kütüphanesi
php artisan view:clear