Coursera tarzı online kurs platformunun iOS uygulaması. SwiftUI ile yazılmış, Hono + Cloudflare D1 backend ile beslenir.
CourseHub Academy iOS, Coursera benzeri online kurs platformunun iOS istemcisidir. SwiftUI + MVVM ile geliştirilmiş; Explore, Learn, Career, Profile olmak üzere 4 sekmeli ana yapıya sahiptir. Kullanıcı kategorilere göre kursları keşfeder, modül bazlı içerikleri inceler, "CourseHub Plus" premium üyelik ile sınırsız erişime geçer. Backend olarak Cloudflare Workers üzerinde Hono + D1 (birincil) ve geliştirme amaçlı Python FastAPI alternatifi kullanılır.
Explore (keşfet), Learn (öğren), Career (kariyer) ve Profile sekmeleriyle Coursera tarzı yerleşim.
Kategoriler, sertifika tipi, profesyonel filtreleri; arama ve önizleme sheet'i ile detaya inmeden hızlı bakış.
icon_name + ad alanlı kategori sistemi; AllCategoriesView ile tüm kategorileri görme ve filtreleme.
CourseDetailView: about açıklaması, tamamlama süresi, haftalık saat, seviye, dil seçenekleri, modül sayısı.
course_modules: numara, başlık, tamamlama süresi, video sayısı, okuma sayısı, modül puanı.
course_skills tablosu — kursun kazandırdığı beceriler etiketler halinde gösterilir.
course_features: icon + başlık + açıklama; "öğreneceklerin" / "kazanımlar" bölümlerinde kullanılır.
course_reviews tablosu; kullanıcı puanı, yorum metni, ortalama rating + review_count.
certificate_type alanı: profesyonel sertifika, uzman sertifikası, başarı belgesi gibi tipler.
CourseHubPlusView ile premium üyelik tanıtımı; sınırsız erişim için aboneliğe yönlendirme.
OnboardingView: ilk açılışta kullanıcıya ürünün değer önerisini gösteren karşılama akışı.
CoursePreviewSheet — listede kursun üzerine dokunulduğunda alttan açılan hızlı önizleme.
İndirmeden sertifikaya 8 adım
App Store'dan indirme sonrası ilk açılış. OnboardingView ile değer önerisi sunumu (kurs çeşitliliği, sertifikalar, eğitmenler) ve kullanıcı tercih ekranı.
ExploreView ana ekran: öne çıkan kurslar carousel'i, kategori grid'i, profesyonel sertifika programları. Tüm kategorileri görmek için AllCategoriesView.
Kategori seçimi ile o alana özel kurslar listelenir; provider, rating, review count ile sıralanır.
Kurs kartına dokunma → CoursePreviewSheet alttan kayar; özet bilgi + "Detaya Git" CTA. Kapatılabilir veya tam detaya geçilebilir.
CourseDetailView: kurs hakkında bilgi, modül listesi, kazandırdığı beceriler, eğitmen, dil seçenekleri, tamamlama süresi, yorumlar.
Kullanıcı kursa kayıt olur veya CourseHub Plus üyelik sunumu görür (sınırsız erişim teklifi).
LearnView ile kayıtlı olunan kursların ilerlemesi, devam eden modüller, tamamlanan dersler ve sertifika takibi.
CareerView ile kariyer yolculuğu önerileri; ProfileView ile profil yönetimi, sertifikalar, ayarlar.
iOS app + 2 backend seçeneği + paylaşımlı veritabanı
┌──────────────────────────┐ ┌──────────────────────────┐
│ iOS App (SwiftUI) │ │ Web (Next.js) │
│ CourseHubAcademy/ │ │ coursera_/ → /coursehubweb │
└──────────────┬───────────┘ └──────────────┬───────────┘
│ │
└────────────────┬───────────────────┘
↓
┌────────────────────────────────────┐
│ api.coursehub.academy │
│ ┌──────────────────────────────┐ │
│ │ Hono + Cloudflare Workers │ │ ← birincil
│ │ Zod + Swagger UI │ │
│ └──────────────────────────────┘ │
│ ┌──────────────────────────────┐ │
│ │ Python FastAPI (yerel/alt) │ │ ← geliştirme
│ └──────────────────────────────┘ │
└────────────────┬───────────────────┘
↓
┌────────────────────────────────────┐
│ Cloudflare D1 (SQLite) │
│ Database: coursehub-db │
│ ID: f859beb8-... │
└────────────────────────────────────┘D1 üzerinde 7 ana tablo, kurs odaklı yapı
categoriescoursescourse_detailscourse_modulescourse_featurescourse_skillscourse_reviewsAynı kurs kataloğu, aynı backend — Next.js 16 + Tailwind v4 ile yazılmış tarayıcı sürümü.
CourseHub Web →