Proje Vizyonu: Nexus News
Bu proje, sadece kodlama yeteneğinizi değil, modern web geliştirme pratiklerindeki ustalığınızı bütüncül bir şekilde ölçmek için tasarlandı. Amaç, yeni teknolojileri hızla öğrenme, problem çözme ve en iyi pratikleri uygulama becerilerinizi ortaya koyan, dinamik ve tam fonksiyonel bir haber portalı oluşturmaktır.
Teknik Ustalık
Next.js ve Payload CMS kullanarak tam yığın (full-stack) bir uygulama geliştirme ve entegre etme becerisi.
Hızlı Öğrenme
Payload CMS gibi yeni bir aracı, dokümantasyonunu kullanarak etkin bir şekilde öğrenme ve projeye adapte etme kabiliyeti.
Kalite ve Pratikler
SEO, erişilebilirlik, temiz kod ve sürüm kontrolü gibi endüstri standartlarını uygulama disiplini.
Kullanılacak Teknoloji Yığını
Bu projede, modern web geliştirmenin en popüler ve güçlü araçlarından bazılarını kullanacaksınız. Aşağıdaki şema, projenin mimarisini ve teknolojilerin birbiriyle olan ilişkisini göstermektedir. Frontend ve Backend arasındaki bu ayrım, "headless" mimarinin temelini oluşturur.
Ana Bileşenler
Proje Yol Haritası
Proje, Backend ve Frontend olmak üzere iki ana adıma ayrılmıştır. Aşağıdaki sekmeleri kullanarak her adımın detaylarına, gereksinimlerine ve kod örneklerine ulaşabilirsiniz. Bu yapı, geliştirme sürecini sistematik bir şekilde takip etmenize yardımcı olacaktır.
Adım 1: Backend Kurulumu
İçeriğin yönetileceği esnek ve güçlü API'yi oluşturacağımız adımdır. Veri modellerini (Collections) kod olarak tanımlayarak başlayın.
Oluşturulacak Veri Modelleri:
- Posts (Yazılar): Başlık, slug, yazar, kategori, içerik ve SEO alanlarını içermeli.
- Categories (Kategoriler): Yazıları gruplamak için isim ve slug alanları.
- Authors (Yazarlar): Yazar adı ve profil fotoğrafı (avatar) için.
- Globals - SiteSettings: Site başlığı, açıklaması ve tema renkleri gibi genel ayarlar için.
Örnek 'Posts' Collection Kodu:
import { CollectionConfig } from 'payload/types';
const Posts: CollectionConfig = {
slug: 'posts',
admin: { useAsTitle: 'title' },
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'slug', type: 'text', required: true, unique: true },
// ... diğer alanlar ...
{
name: 'meta',
label: 'SEO Meta Information',
type: 'group',
fields: [ /* ... SEO alanları ... */ ]
}
],
};
export default Posts;
Değerlendirme Kriterleri
Projeniz, aşağıda görselleştirilen kriterlere göre bütüncül bir şekilde değerlendirilecektir. Grafik, her bir alanın projenin genel başarısındaki önemini göstermektedir. Detayları görmek için grafik üzerindeki noktalara imlecinizi getirebilirsiniz.
Teslimat ve Kaynaklar
Teslim Edilecekler Listesi
Projenizi tamamladığınızda aşağıdaki maddeleri eksiksiz olarak teslim etmeniz beklenmektedir.
-
✔
Frontend GitHub Reposu: Anlamlı commit geçmişine sahip Next.js projenizin linki.
-
✔
CMS GitHub Reposu: Payload CMS yapılandırma kodlarınızın olduğu repo linki.
-
✔
Canlı Demo URL'leri: Vercel/Netlify üzerinde çalışan Frontend sitesi ve CMS admin paneli.
-
✔
README.md Dosyası: Projenin nasıl çalıştırılacağını anlatan ve karşılaştığınız zorlukları özetleyen bir doküman.
Faydalı Kaynaklar
Geliştirme sürecinde bu resmi dokümantasyonlar en iyi yardımcınız olacaktır.