Portfolyo Projesi Geliştirirken Öğrendiğim 10 Ders
Kendi kişisel portfolyo sitemi Next.js, Prisma ve Docker ile sıfırdan geliştirirken karşılaştığım pratik zorlukları ve çözümleri paylaşıyorum.
Portfolyo Projesi Geliştirirken Öğrendiğim 10 Ders
Kişisel portfolyo sitemi geliştirirken, küçük ölçekli bir proje olmasına rağmen üretim kalitesinde birçok konuyla karşılaştım. Öğrendiklerimi burada topladım.
1. Basit Başlamak, Sonra Genişletmek
İlk günden itibaren mikroservis mimarisi veya aşırı soyutlama kurmaya çalışmak yerine, tek bir Next.js uygulaması içinde admin panel, blog ve proje sayfalarını birleştirmek geliştirme hızını artırdı.
2. İçerik Yönetimini Baştan Doğru Kurmak
Blog yazıları ve projeleri veritabanında saklamak, statik dosyalarla yönetmekten çok daha esnek oldu. Özellikle görüntülenme sayısı, öne çıkarma gibi dinamik alanlar için bu tercih zaman kazandırdı.
3. Kimlik Doğrulamayı Kütüphaneye Bırakmak
Auth.js kullanmak, kendi kimlik doğrulama mantığımı yazmaktan çok daha güvenli ve az bakım gerektiren bir çözüm oldu.
4. Docker ile Ortam Tutarlılığı
Geliştirme ve production ortamları arasındaki farkların yarattığı "bende çalışıyordu" sorunlarını, Docker Compose ile ortamı standartlaştırarak neredeyse tamamen ortadan kaldırdım.
5. SEO'yu Sonradan Değil, Baştan Düşünmek
Metadata, sitemap ve Open Graph görsellerini proje sonunda değil, sayfa yapısını kurarken eklemek çok daha az yeniden düzenleme gerektirdi.
6. Admin Panel İçin Ayrı Bir Route Grubu
Next.js'in route group özelliğini kullanarak admin ve public sayfaları ayrı layout'larla yönetmek, kod tekrarını azalttı.
7. Veritabanı Şemasını Erken Sabitlememek
Prisma migration'ları ile şemayı geliştirme sürecinde birkaç kez revize etmek, başta "doğru" görünen tasarımların pratikte yetersiz kaldığını gösterdi.
8. Performans Ölçümünü Alışkanlık Haline Getirmek
Lighthouse ve gerçek kullanıcı metrikleriyle düzenli ölçüm yapmak, gözle fark edilmeyen yavaşlamaları erken yakalamayı sağladı.
9. Bakım Modu Gibi Küçük Detaylar
Sitenin bakım altında olduğunu gösteren ayrı bir mod eklemek, küçük bir özellik gibi görünse de deploy sırasında kullanıcı deneyimini korumada işe yaradı.
10. Küçük Projeler de Ciddiye Alınmalı
Kişisel bir portfolyo olsa bile, üretim kalitesinde bir mühendislik disipliniyle yaklaşmak, hem öğrenmeyi hızlandırdı hem de projeyi bir vitrin olmanın ötesine taşıdı.
Sonuç
Küçük ölçekli görünen bir proje bile, doğru yaklaşıldığında gerçek dünya mühendislik problemlerinin neredeyse tamamını içerebiliyor.