İçerik Yönetimi
Proyecta’nın CMS’i, uygulamanızın birincil veri katmanıdır — yalnızca blog yazıları ve pazarlama metinleri değil, uygulamanızın üzerine inşa edildiği gerçek kayıtlardır. Koleksiyonlar hazırlanır ve gerçekçi örnek içerikle doldurulur; UI daha oluşturulmadan önce. Böylece uygulamanız ilk build’den itibaren düzenlenebilir veriye bağlı olarak çıkar.
Proyecta uygulamalarının büyük çoğunluğu verilerini yerleşik CMS’de saklar. Uygulamanızı tanımladığınızda Proyecta bir veri modeli tasarlar, ihtiyaç duyulan koleksiyonları oluşturur ve bunları gerçekçi örnek içerikle doldurur — tek bir sayfa oluşturulmadan önce. Sayfalarınız daha sonra bu gerçek, sahip tarafından düzenlenebilir içeriği, yapay zekanın sizin için kurduğu tiplendirilmiş hook’lar aracılığıyla okur. Bunun genel bütünle nasıl örtüştüğünü görmek için Uygulamanızın verileri nasıl çalışır sayfasına bakın.
Başlamak için bunların hiçbirini düşünmenize gerek yok — her şey otomatik gerçekleşir. Bu sayfa, şekillendirmeniz için altındakileri açıklar.
Koleksiyonlar ve tekil öğeler
Bölüm başlığı “Koleksiyonlar ve tekil öğeler”İçerik, koleksiyonlar ve tekil öğeler (singletons) olarak düzenlenir:
| Tür | Nedir | Örnekler |
|---|---|---|
| Koleksiyon | Birden fazla girdiye sahip bir içerik türü — tek şema, çok satır. | posts, services, testimonials, catalogItems |
| Tekil öğe | Tam olarak bir girdiye sahip içerik türü — global, tek seferlik içerik. | businessInfo, seoSettings |
Bir koleksiyon bir şekildir; her girdi o şeklin bir öğesidir (bir blog yazısı, bir hizmet, bir SSS). Tekil öğe ise tek bir düzenlenebilir kaydı tutar — işletme kimliğiniz veya bir sayfanın hero/bölüm metni.
Ne tür içerikler
Bölüm başlığı “Ne tür içerikler”Proyecta, gerçek işletmelerin tuttuğu kayıt türleri için hazır koleksiyon tasarımlarıyla gelir — mantıklı alanlar, yönetici ipuçları ve başlangıç içeriği: blog yazıları ve makaleler, hizmetler, ürün kataloğu, yemek menüsü, referanslar ve yorumlar, ekip üyeleri, fotoğraf galerisi, SSS, etkinlikler, konumlar, indirilebilir kaynaklar, iş ilanları, kurslar, turlar ve konaklama listeleri ve daha fazlası.
Hiçbir listeden seçim yapmazsınız. Uygulamanızı tanımladığınızda Proyecta, briefinizin gerektirdiklerini seçer — işletme türünüz, istediğiniz özellikler, diliniz — ve bunları gerçekçi örnek içerikle önceden doldurarak oluşturur. Uygulamanız hiçbirinin karşılamadığı bir şeye ihtiyaç duyarsa Proyecta, kendi alanlarıyla birlikte özel bir koleksiyon tasarlar.
Bu nedenle yönetici paneliniz sabit bir liste yerine uygulamanızın koleksiyonlarını gösterir. Panel, uygulamanızın canlı içerik modelinden kendini oluşturur; dolayısıyla Proyecta’nın sizin için oluşturduğu şey — yerleşik ya da özel — tam olarak gördüğünüz ve düzenlediğiniz şeydir. İki Proyecta uygulaması nadiren aynı koleksiyon setine sahiptir ve bu tasarım gereğidir.
Alanlar
Bölüm başlığı “Alanlar”Her koleksiyon, tiplendirilmiş alanlardan oluşur. Alan türleri uçtan uca uygulanır — yönetici paneli doğru düzenleyiciyi gösterir ve sayfalarınız doğru tiplendirilmiş değerleri alır.
| Alan türü | Ne için kullanılır |
|---|---|
string |
Kısa tek satırlık değerler — başlıklar, isimler, adresler. |
text |
Düz metin paragrafı. |
markdown |
Uzun biçimli zengin metin — makale içerikleri, “hakkımızda” metinleri. |
slug |
URL tanımlayıcısı, başka bir alandan (örn. başlık) otomatik türetilir. |
number |
Sayımlar, puanlar, süreler. |
money |
Fiyat veya para birimi tutarı — para olarak gösterilir ve düzenlenir. |
boolean |
Açık/kapalı bayraklar. |
date |
Takvim tarihleri. |
datetime |
Zaman damgaları — yayın tarihleri, etkinlik başlangıç saatleri. |
weeklyHours |
Haftanın her günü için çalışma saatleri. |
asset |
Bir resim, video veya PDF (genel URL olarak saklanır). |
reference |
Başka bir koleksiyondaki girdiye bağlantı. |
enum |
Sabit seçenekler listesinden bir değer. |
array |
Dizeler listesi — etiketler, telefon numaraları, bölgeler. |
blocks |
Yığılabilir içerik blokları — tiplendirilmiş bölümlerden oluşan bir sayfa. |
json |
Yukarıdaki türlerin hiçbirine uymayan yapılandırılmış veriler. |
Girdiler, taslaklar ve yayınlama
Bölüm başlığı “Girdiler, taslaklar ve yayınlama”Girdi, bir koleksiyondaki tek bir öğedir. Her girdinin bir durumu vardır:
- Taslak — devam eden çalışma; canlı sitenizde hiçbir zaman gösterilmez.
- Yayınlandı — canlı ve ziyaretçilere görünür.
- Arşivlendi — kullanımdan kaldırıldı, kenara alındı.
Genel sayfalarınız yalnızca yayınlanmış girdileri görür — taslaklar ve arşivlenmiş öğeler otomatik olarak gizlenir; böylece içeriği yayına girmeden önce güvenle hazırlayabilirsiniz.
İçerik yönetimi (kod gerekmez)
Bölüm başlığı “İçerik yönetimi (kod gerekmez)”İçerik eklemenin ve düzenlemenin iki yolu vardır — hiçbiri kod dokunmayı gerektirmez:
- Sohbette yapay zekaya sorun. Değişikliği açıklamanız yeterli, yapay zeka doğru içeriği sizin için düzenler:
"Add a testimonial from María González: 'Best service in town', 5 stars.""Change the tagline in Business Info to 'Café de especialidad en la Roma'.""Mark the last five contact-form submissions as read."
- Uygulamanızın yönetici paneli. Yayınlanan her uygulama, içerik ve form gönderimlerini doğrudan yönetebileceğiniz yerleşik, oturum açma korumalı bir yönetici paneline sahiptir — koleksiyon başına elektronik tablo tarzı düzenleyici ve gönderimler gelen kutusu. Panel, uygulamanızın canlı içerik modelinden kendini yapılandırır; yeni koleksiyonlar orada otomatik olarak görünür. Bkz. Yönetici Paneli.
CMS içeriğinizi uygulamanızın yönetici paneli veya yapay zeka aracılığıyla yönetin — builder içi içerik düzenleyici yol haritasında yer almaktadır (bkz. Yakında geliyor). Canlı güncellenen uygulamalar için gerçek zamanlı kayıt tarayıcısı yakında geliyor.
Uygulamanız içeriği nasıl okur
Bölüm başlığı “Uygulamanız içeriği nasıl okur”Sayfalarınız, içeriği @/hooks/useContent içindeki tiplendirilmiş hook’lar aracılığıyla okur — ve yapay zeka bu bağlantıyı sizin için yazar. Sayfayı tarif edersiniz; Proyecta, bu hook’ları gerçek koleksiyonlarınıza karşı çağıran bileşenleri oluşturur. Bunlara kendiniz nadiren dokunursunuz, ama işte ne yaptıkları:
| Hook | Ne yapar |
|---|---|
useCollection('posts') |
Bir koleksiyonun yayınlanmış girdilerini listeler (isteğe bağlı filtre/sıralama/limit ile). |
useEntry('posts', slug) |
Slug’a göre yayınlanmış tek bir girdiyi getirir (detay sayfaları). |
useSingleton('businessInfo') |
Bir tekil öğeyi okur (işletme bilgisi, sayfa içeriği). |
useFormSubmit('contactForm') |
Bir form gönderir ve doğrulama hatalarını raporlar. |
// A blog index — exactly the kind of code the AI generates for youimport { useCollection } from '@/hooks/useContent';
function BlogList() { const { data: posts, isLoading } = useCollection('posts', { sort: 'published_at:desc' }); if (isLoading) return <Spinner />; return posts?.map((post) => <PostCard key={post._id} post={post} />);}Proyecta koleksiyonlarınız için tiplendirilmiş arayüzler oluşturduğunda, hook’lar tam olarak tiplendirilir (useCollection<Post>('posts')); böylece editörünüz her alanı otomatik tamamlar. Okumalar, önceden hazırlanmış bir anlık görüntüden ilk paint’te yüklenir — sayfalar anında ve SEO dostu şekilde render edilir, ardından arka planda canlı olarak güncellenir.
Formlar
Bölüm başlığı “Formlar”Formlar, yapay zekanın elle oluşturduğu bir şey değil, birinci sınıf bir yetenektir. Bir form bloğu ekleyin; alanları render eder, girişi doğrular, gönderir ve başarı durumunu gösterir:
<FormBlock form="contactForm" />Formlar da hazır gelir — iletişim formu, teklif talebi, rezervasyon formu, sipariş formu, kayıt formu — ve Proyecta doğru olanı sayfalarınıza bağlar. Gönderimler uygulamanızın yönetici paneli gelen kutusuna düşer ve yeni bir tane geldiğinde sahibine e-posta gönderilir. Tam resim için bkz. Formlar.
Yerelleştirme
Bölüm başlığı “Yerelleştirme”İçerik birden fazla yerel ayara (locale) çevrilebilir. Yerelleştirilmiş olarak işaretlenen alanlar dil başına bir değer saklar; okuma hook’ları, ziyaretçinin aktif yerel ayarını geçtiğinizde bunları bir yedek zinciri aracılığıyla çözer (istenen dil → yapılandırılmış yedekler → varsayılan):
const { data: posts } = useCollection('posts', { locale: 'es' });Tek dilli uygulamalar yerel ayarları tamamen yok sayar — yapılandırılacak bir şey yoktur. Daha geniş çeviri hikayesi için bkz. Uluslararasılaştırma.
Sürümler
Bölüm başlığı “Sürümler”Bir sürüm, birden fazla girdiyi bir araya getirir; böylece hepsi aynı anda yayına girer (veya yayından kaldırılır) — koordineli bir içerik yayınını (bir lansman, yeni bir ürün sayfası, SSS yenilemesi) hazırlayın ve hepsini bir anda açın.
Not: Otomatik zamanlanmış yayınlama henüz uygulanmamıştır.
scheduled_attarihi olan bir sürümscheduleddurumuna girer ancak manuel olarak yayınlanması gerekir. Zamanlanmış saatte otomatik yayınlama yakında geliyor.
Yaygın örüntüler (yapay zekaya bırakın)
Bölüm başlığı “Yaygın örüntüler (yapay zekaya bırakın)”Bunu nadiren elle yazarsınız — ne istediğinizi tarif edin, Proyecta gerçek koleksiyonlara karşı oluşturur:
"Build a blog. Each post has a title, cover image, rich-text body, category, and tags. Public routes at /blog and /blog/[slug], newest first.""Add an FAQ section the owner can edit, grouped by category.""Add a bookable services list with a request-a-quote form.""Make the site bilingual — English and Spanish — with a language switcher.""Seed the testimonials with five realistic reviews for a coffee shop."
Uygulamanızın verileri nerede yaşar
Bölüm başlığı “Uygulamanızın verileri nerede yaşar”CMS, kalıcı içerik ve kayıtlar için varsayılan yerdir. Birkaç tür veri bunun yerine amaca özel sistemlerde yaşar:
| Veri türü | Nerede yaşar |
|---|---|
| İçerik ve kayıtlar (yazılar, hizmetler, listeler, SSS, katalog, rezervasyonlar) | Proyecta CMS (bu sayfa) — varsayılan |
| Gerçek zamanlı / davranış durumu (canlı sohbet, akışlar, varlık, oyun durumu) | Gerçek zamanlı depo — yakında geliyor |
| Kullanıcı hesapları ve oturum açma | Auth |
| Ürünler, siparişler, abonelikler, ödemeler | Commerce |
| Yüklenen dosyalar ve medya | Dosyalar ve Medya |
| Build’e dahil edilen statik varlıklar | projenizde public/ dizini |
CMS varsayılandır. Gerçekten gerçek zamanlı davranış için gerçek zamanlı bir depo yakında geliyor; yine de kalıcı içerik ve ticaret kataloğu CMS’de kalmaya devam edecek.
Yakında geliyor
Bölüm başlığı “Yakında geliyor”- Builder içi içerik düzenleyici — CMS koleksiyonlarınıza doğrudan builder panosundan göz atın ve düzenleyin (bugün: içeriği yönetici paneli veya yapay zeka aracılığıyla yönetin).
- Zengin metin WYSIWYG düzenleyici —
markdownalanlar için görsel düzenleme (bugün bunlar markdown olarak düzenleniyor). - Zamanlanmış otomatik yayınlama — zamanlanmış saatte otomatik olarak yayına giren sürümler.
- İçerik değişikliklerinin uygulamanıza karşı canlı önizlemesi.
- İçerik rolleri — düzenleyici izinlerini geliştirici izinlerinden ayırma.