CourseHub Academy\'nin tarayıcı sürümü. Next.js 16 + Tailwind v4 + React 19 ile yazılmış Coursera tarzı kurs platformu. Cloudflare Pages\'a statik export ile yayınlanır.
CourseHub Web, CourseHub Academy ekosisteminin tarayıcı tarafıdır. Repo klasör adı coursera_ ve package.name: "coursera" tarihsel/geçici isimlerdir; gerçek deploy hedefi coursehub-academy Cloudflare Pages projesidir. Statik export modunda derlenir, Cloudflare\'in global edge ağında saniye altı yükleme süresiyle servis edilir. iOS uygulamasıyla aynı backend (api.coursehub.academy) ve aynı kurs kataloğunu paylaşır.
HeroCarousel.tsx ile öne çıkan kursları döner banner şeklinde sergileme — ana sayfa odak alanı.
ExploreMenu.tsx ile mega-menu yapısı — kategoriler, alt-kategoriler, ön plana çıkan kurslar açılır panelde.
/instructor/[id] dinamik route ile eğitmen sayfaları: bio, kurslar, deneyim, öğrenci sayısı.
/specializations/[slug] ile uzmanlık paketleri — birden fazla kursu kapsayan kariyer odaklı programlar.
/onboarding (giriş) → /onboarding/role-selection (öğrenci/eğitmen) → /onboarding/skills (ilgi alanları).
Next.js 16 statik build → Cloudflare Pages'a out/ klasörü ile deploy; SSR yerine SSG, hızlı CDN dağıtımı.
@tailwindcss/postcss ile en yeni Tailwind sürümü; tasarım sistemi ve responsive layout.
babel-plugin-react-compiler 1.0.0 ile React 19 derleyicisi aktif — manuel useMemo/useCallback gerekmez.
"next build --webpack" — Turbopack devre dışı, deterministik build için webpack tercih edildi.
scripts/deploy-full.sh ve scripts/coursehub-domain-check.sh ile özel deploy ve domain doğrulama otomasyonu.
Next.js metadata API, app router, slug bazlı URL'ler — SEO friendly yapı.
CourseHub Academy iOS uygulamasıyla aynı api.coursehub.academy endpoint'lerini tüketir.
Next.js App Router — dinamik segmentlerle [id] / [slug]
Anasayfadan kayda 6 adım
Kullanıcı coursehub-academy.pages.dev (veya custom domain) sayfasına gelir. HeroCarousel öne çıkan uzmanlık programlarını rotate eder; ExploreMenu mega-menu ile kategori navigasyonu sunulur.
/onboarding karşılama → /onboarding/role-selection: öğrenci mi eğitmen mi → /onboarding/skills: ilgi alanları seçimi. Tercihler local storage / backend'e kaydedilir.
ExploreMenu açılır; kategori → alt kategori → kurs listesi. Filtreler: seviye, dil, sertifika tipi, fiyat.
/specializations/[slug] — birden fazla kursu kapsayan kariyer programı; kurs sıralaması, beklenen tamamlama süresi, sertifika önizlemesi.
/instructor/[id] — eğitmen biyografisi, verdiği kurslar, öğrenci sayısı, ortalama puan; "Takip Et" CTA.
Kullanıcı seçtiği kursa kayıt olur. iOS uygulaması varsa aynı hesapla devam edebilir; tüm istemciler tek backend kullanır.
package.json scripts — dev/build/deploy zinciri
Aynı kurs kataloğu, mobil deneyim. SwiftUI ile yazılmış native iOS uygulaması.
CourseHub Academy iOS →