full-stack / case.study
YayındaBu portfolyo: Kişisel Web Uygulaması
Güvenli kullanıcı girişi, veritabanı yönetimi ve modern arayüz tasarımıyla hazırlanmış kişisel portfolyo.
Kullanılan Mimari / Çözüm
Kişisel Web Uygulaması
Güvenli kullanıcı girişi, veritabanı yönetimi ve modern arayüz tasarımı
17 Temmuz 2026
product.screens
Uygulama içi görünümler
Görsele dokunarak büyüt. Escape / ok tuşları ile gezin.
architecture.decisions
Problem → karar → etki
Problem
Çözülen problem
Klasik portfolyo siteleri çoğu zaman statik vitrin gibi kalır; işe alım tarafı adayın auth, veri modeli, güvenlik, test, observability ve deploy disipliniyle nasıl düşündüğünü göremez.
Karar
Mühendislik kararı
Sadece animasyonlu bir landing page yerine ürün davranışı taşıyan bir mimari seçildi: App Router + Server Components, typed MDX pipeline, Auth.js, Drizzle/Neon, Redis rate limit, Server Actions, Playwright E2E ve structured logging aynı sistemde birleştirildi.
Etki
Kanıtlanan etki
Portfolyo; problem/decision/impact şablonu, CI kalite kapısı, E2E smoke testleri ve production servis planıyla 'ne yaptım' sorusundan 'nasıl mühendislik yaptım' sorusuna cevap veren deploy-ready kanıta dönüştü.
Bu proje bir tema çalışması değil; gerçek bir ürün omurgasını küçük ama üretim gerçekliğine yakın bir ölçekte taşıyan mühendislik sistemi.
Mimari yaklaşım
- UI katmanı: Next.js App Router, server-first bileşenler, seçili yerlerde istemci animasyonları
- İçerik katmanı: MDX + Zod şema doğrulaması + slug bazlı güvenli derleme
- Kimlik: Auth.js (GitHub OAuth) ile guestbook giriş/rol temelli moderasyon
- Veri: Neon PostgreSQL + Drizzle ORM şema ve sorgu yönetimi
- Cache/limit: Upstash Redis ile görüntülenme sayacı ve API rate limit
- İletişim: Server Action + anti-spam guard + Resend entegrasyonu
Mühendislik kararları
-
Server-first önceliği Statik/yarı-statik bölümler server component olarak tutuldu. Böylece istemci JS yükü kontrol altında kaldı.
-
Fail-safe davranış Redis veya e-posta servisi yoksa uygulama tamamen kırılmak yerine kademeli olarak davranıyor; kritik akışlarda güvenlik önceliği korunuyor.
-
İçerik sözleşmesi Proje frontmatter alanları (
problem,decision,impact,status) zorunlu düşünme şablonu gibi kullanıldı; kartlar teknik hikaye anlatır hale geldi.
Ölçülebilir çıktılar
- Tamamlanan kalite kapısı:
lint,build, env/db/assets kontrolleri - Error/loading/not-found ve OG katmanları ile daha üretim dostu UX
- Guestbook ve iletişim akışlarında kötüye kullanım riskini azaltan korumalar
Sonraki iterasyon
- Otomatik test kapsamını genişletmek (unit + entegrasyon)
- CI hattına kalite eşiklerini sıkılaştırmak
- Üretimde Redis/Resend gözlemlenebilirliğini artırmak
Bu proje hakkında yazın
Mimari kararlar, stack seçimleri veya işbirliği için kısa bir mesaj yeterli.