Proje
Kişisel portföy — bu site
Next.js App Router ile geliştirilen, yerel tipli içerik üzerinde çalışan kişisel portföy sitesi.
- Problem
- Teknik yetkinliği, kod kalitesini ve proje anlatımını gösterecek güncel ve kendime ait bir dijital varlığım yoktu.
- Hedef kullanıcılar
- İşe alım yapan ekipler, potansiyel müşteriler ve birlikte çalışılabilecek teknik kişiler.
- Çözüm
- Sunucu bileşenlerini varsayılan olarak kullanan, yalnızca etkileşim gereken yerlerde istemci bileşenine geçen bir Next.js uygulaması. Proje ve blog içerikleri tipli yerel dosyalarda tutuluyor; Medium yazılarım ise yeniden çalıştırılabilir bir senkronizasyon script'iyle çekiliyor.
- Önemli teknik kararlar
- İçerik veritabanı yerine tipli yerel içerik dosyalarında tutuldu; ilk sürüm için yönetim paneli gerekmiyor.
- Taslak/yayın ayrımı içerik modelinde tanımlandı; taslak proje ve yazılar public sayfalarda ve sitemap'te görünmüyor.
- Medium yazıları derleme zamanında değil, `npm run sync:medium` ile açıkça tetiklenen bir script tarafından yerel bir JSON dosyasına yazılıyor; kaynağa erişilemezse mevcut veri korunuyor.
- Açılış animasyonu tamamen CSS ile yapıldı; prefers-reduced-motion tercihinde kapanıyor ve JavaScript'e bağımlı değil.
- Teknolojiler
- Next.js (App Router)ReactTypeScriptTailwind CSS
- Doğrulanmış sonuçlar
- Üretim derlemesi (npm run build) hatasız tamamlanıyor.
- Tip kontrolü, lint ve biçim kontrolü CI benzeri komutlarla yerel olarak doğrulanıyor.
- 375px mobil genişlikten masaüstüne kadar yatay taşma olmadan görüntüleniyor.