Skip to content

SauWebProgramming/web-programlama-nisaozturkk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Çevrimiçi Kurs Kayıt Sistemi (Online Course Registration System) Bu proje, Web Tasarımı ve Programlama II dersi kapsamında geliştirilmiş bir e-öğrenme platformu taslağıdır. Eğitmenlerin kurs oluşturabildiği, öğrencilerin ise bu kursları inceleyip kaydolabildiği dinamik bir web uygulamasıdır.

Kullanılan Teknolojiler ve Mimari Platform: ASP.NET Core MVC (Güncel LTS)

Veritabanı: Entity Framework Core (Code-First)

Güvenlik: ASP.NET Core Identity (Authentication & Role-based Authorization)

Tasarım: Bootstrap 5, HTML5, CSS3

Mimari Desen: Repository Pattern (Veri erişim mantığı Controller'dan ayrılmıştır)

Model Yönetimi: View Models / DTOs (Entity'ler doğrudan View'lara gönderilmemiştir)

Projeyi Çalıştırma Talimatları Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları izleyiniz:

1- Projeyi Visual Studio ile açınız.

2- Araçlar (Tools) > NuGet Paket Yöneticisi > Paket Yönetici Konsolu (Package Manager Console) yolunu izleyiniz.

3- Açılan konsola aşağıdaki komutu yazarak veritabanı şemasını oluşturunuz:

Update-Database

4- Projeyi derleyip (Build) çalıştırınız (F5).

5- Varsayılan Kullanıcılar: Proje ilk çalıştığında RoleSeeder sınıfı sayesinde temel roller ve varsa test kullanıcıları otomatik olarak oluşturulacaktır.

Uygulanan Özellikler (Checklist)

  • ASP.NET Core Identity: Kayıt Ol ve Giriş Yap fonksiyonları tamamlandı.

  • Rol Yönetimi: Admin, Eğitmen ve Öğrenci rolleri için özel yetkilendirmeler yapıldı.

  • Repository Pattern: Veritabanı işlemleri ICourseRepository üzerinden yönetilmektedir.

  • ViewModel & Validation: Form verileri için özel ViewModel sınıfları kullanıldı ve sunucu taraflı veri doğrulama (Validation) kuralları eklendi.

  • İlişkisel Veri: Kurslar, Kategoriler ve Kayıtlar arasında Çoka-Çok ve Bire-Çok ilişkiler kurgulandı.

Bonus Özellikler AJAX Dinamik Kayıt Sistemi: Öğrenciler kurslara kaydolurken sayfa yenilenmeden arka planda AJAX ile işlem yapılmaktadır. İşlem sonucunda kullanıcıya dinamik geri bildirim verilmektedir.

Gelişmiş Dashboard: Admin ve Eğitmenler için yetkilerine göre özelleştirilmiş, kurs ve öğrenci yönetimini kolaylaştıran panel tasarımı eklendi.

About

web-programlama-nisaozturkk created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages