Ulvin Najafov'un eserleri, kayıtları ve notaları için hazırlanmış Next.js portfolyosu. Görsel yön; koyu editoryal yüzeyler, pirinç ve bordo vurgular, GSAP destekli kaydırma hareketleri ve React Three Fiber ile gerçek zamanlı bir rezonans sahnesi kullanır.
- Next.js 16 App Router, React 19 ve TypeScript
- Tailwind CSS 4
- GSAP ve ScrollTrigger
- Three.js, React Three Fiber ve Drei
- Zod ile sunucu tarafı doğrulama
- Resend ile iletişim ve bülten e-postaları
- Vercel Analytics ve Speed Insights
- npm workspaces tabanlı Better-T-Stack düzeni
- Görseller ve PDF notalar: repository içindeki
public/imagesvepublic/scores - Ses kayıtları: public Backblaze B2 bucket
- Bucket tabanı:
https://f003.backblazeb2.com/file/composer-portfolio
Sesler public URL ile salt okunur sunulduğu için uygulamanın B2 API anahtarına ihtiyacı yoktur. Yükleme, silme veya private bucket erişimi eklenecekse bu işlemler yalnızca sunucu tarafında ve ayrı B2 kimlik bilgileriyle uygulanmalıdır.
scripts/ensure-public-link.mjs, geliştirme ve derleme öncesinde kökteki public klasörünü apps/web/public konumuna bağlar. Windows'ta junction, diğer sistemlerde symlink kullanılır.
Gereksinimler: güncel Node.js 22 LTS ve npm 11.
npm install
npm run devUygulama varsayılan olarak http://localhost:3000 adresinde açılır.
apps/web/.env.local oluşturun. Örnek değerler apps/web/.env.example dosyasındadır.
RESEND_API_KEY=re_...
RESEND_FROM_EMAIL=Portfolio <onboarding@resend.dev>
RESEND_TO_EMAIL=hello@example.com
CONTACT_EMAIL=hello@example.comRESEND_TO_EMAIL tanımlanmazsa iletişim formu CONTACT_EMAIL değerini kullanır. Bu değerler olmadan proje yine derlenir, ancak formlar kontrollü biçimde 503 döndürür ve e-posta göndermez.
npm run check-types
npm run lint
npm run build
npm auditVercel CLI ile önizleme veya üretim dağıtımı:
npm run deploy
npm run deploy:prodVercel CLI proje bağımlılığı değildir. Dağıtım komutları güncel CLI'ı npx üzerinden çağırır.
apps/web/ Next.js uygulaması
src/app/ Sayfalar ve API route handler'ları
src/components/ Arayüz, hareket ve 3D bileşenleri
src/lib/ Eser verisi ve yardımcılar
packages/config/ Paylaşılan TypeScript ayarları
packages/env/ Doğrulanmış ortam değişkenleri
public/images/ Yerel görseller
public/scores/ Yerel PDF notalar
scripts/ Workspace yardımcıları
İletişim uçları aynı kaynak kontrolü, sıkı Zod şemaları, gövde boyutu sınırı, honeypot ve oran sınırlama uygular. HTTP güvenlik başlıkları Next.js yapılandırmasında merkezi olarak tanımlanır. Yerel inceleme kapsamı ve kalan riskler SECURITY_REVIEW.md içindedir.
Repository Vercel'e bağlandığında kökteki vercel.json, apps/web servisini ve workspace kurulum komutunu seçer. Üretim öncesinde Resend değişkenlerini Vercel proje ayarlarına ekleyin, alan adını Resend'de doğrulayın ve formları gerçek alıcıyla test edin.
Bu proje özeldir ve açık kaynak lisansı altında dağıtılmaz.