P4: Site Hub CMS
DetayVersiyon: 1.1.0
Durum: Onaylandı (D-030: reprocar tabanlı Hub; ilk müşteri customremap)
Üst anayasa: CONSTITUTION.md
Yalnızca müşteri landing sitelerinin içeriğini yönetmek. Admin landing kodundan fiziksel olarak ayrı.
Kapsam dışı: Kendi markalar (tuningwebsite, ygtlabs, memsidea, tunerstack landing, ETP). Bunlar Next.js tam klon + dahili /admin kullanır (01-own-brand-landings.md).
Topoloji (onaylanmış)
Bölüm başlığı “Topoloji (onaylanmış)”admin.reprocarspain.com ─┐ (freeze referans; migrate yok D-023)admin.customremap.com ─┤ (ilk yeni Hub deploy D-030)admin.{musteri}.com ─┼──► Site Hub (Laravel + Filament, reprocar tabanı) │ │ Headless Content API ▼customremap.com Astro landing (BL-001)reprocarspain.com Inertia landing (freeze)...Not: Kendi markalarda admin.{site} yok (D-007); Next dahili /admin.
Teknoloji
Bölüm başlığı “Teknoloji”| Katman | Stack |
|---|---|
| Admin UI | Laravel 12 + Filament 5 |
| DB | PostgreSQL (site başına ayrı DB) |
| API | REST (Sanctum token per site) |
| Kaynak | reprocarspain Filament Resource’ları (D-030: fork/kopya; ilk: admin.customremap.com) |
Kural: reprocarspain admin paneli çöpe atılmaz; multi-site Hub’a migrate edilir.
Veri modeli (çekirdek)
Bölüm başlığı “Veri modeli (çekirdek)”sites id, slug, domain, default_locale, enabled_locales[], brand_config JSON
content_blocks (site_id scoped) sliders, services, testimonials, faq, contact_info, ...
blog_posts (site_id scoped) translations per locale
navigation_items (site_id scoped)
media_assets (site_id scoped)API sözleşmesi (taslak)
Bölüm başlığı “API sözleşmesi (taslak)”GET /api/v1/sites/{slug}/homepageGET /api/v1/sites/{slug}/blogGET /api/v1/sites/{slug}/blog/{postSlug}GET /api/v1/sites/{slug}/pages/{pageSlug}POST /api/v1/webhooks/revalidate (admin → landing cache bust)Response: locale query param veya Accept-Language.
OpenAPI spec Hub repo’da zorunlu.
Zorunlu CMS modüller
Bölüm başlığı “Zorunlu CMS modüller”- Slider / hero
- Blog (CRUD + yayın/taslak)
- Services
- FAQ
- Contact (email, telefon, adres, harita, sosyal)
Paket bazlı ek modüller: 02-client-landings.md
Güvenlik
Bölüm başlığı “Güvenlik”- Site scope: her admin kullanıcısı yalnızca atandığı siteyi görür
- API token per site; landing instance ENV’de tutulur
- Admin subdomain SSL zorunlu
- Müşteriye admin kodu teslim edilmez
Repo konumu
Bölüm başlığı “Repo konumu”TBD. Adaylar:
reprocarspain.com/httpdocsevrimleşir (mevcut Filament zaten burada)- Yeni repo:
site-hub.ygtlabs(tercih: ADR-001 sonrası)
Revizyon
Bölüm başlığı “Revizyon”| Versiyon | Tarih | Değişiklik |
|---|---|---|
| 1.0.0 | 2026-06-16 | İlk tanım |