Bu proje, kullanıcıların etkinlikleri keşfedebileceği, filtreleyebileceği ve kayıt olabileceği, Admin paneli üzerinden ise tüm süreçlerin yönetilebildiği uçtan uca bir ASP.NET Core 8.0 MVC uygulamasıdır.
Proje geliştirilirken sadece işlevselliğe değil; kaynak yönetimi, veri bütünlüğü ve kullanıcı deneyimi (UX) gibi profesyonel standartlara odaklanılmıştır.
- Repository Pattern: Veri erişim katmanı soyutlanarak projenin test edilebilirliği ve sürdürülebilirliği artırılmıştır.
- Identity & Role Management: ASP.NET Core Identity kullanılarak "Admin" ve "Üye" rolleriyle güvenli bir yetkilendirme altyapısı kurulmuştur.
- Resource Cleanup (Kaynak Yönetimi): Verimlilik odaklı bir yaklaşımla, bir etkinlik silindiğinde o etkinliğe ait fiziksel görsellerin
wwwroot/uploadsklasöründen otomatik olarak silinmesi sağlanmıştır. - Data Seeding: Uygulama ayağa kalktığında
DbSeedersınıfı sayesinde sistem otomatik olarak başlangıç verileriyle (örnek etkinlikler, kategoriler ve admin hesabı) hazır hale gelir.
- Akıllı Filtreleme: Kullanıcıların sadece güncel etkinlikleri görmesi için arka planda
DateTime.Nowkontrolü yapan dinamik bir filtreleme sistemi eklenmiştir. - Kayıt Güvenliği & Kontenjan: Tarihi geçmiş veya kontenjanı dolmuş etkinliklere kayıt olunması hem arayüzde hem de sunucu tarafında (Server-side validation) engellenmiştir.
- UX Detayları: Süresi dolan etkinlikler için karartılmış görseller ve
TempDataile kullanıcıyı bilgilendiren dinamik mesajlar kullanılmıştır.
- Framework: ASP.NET Core 8.0 MVC
- Veritabanı: Microsoft SQL Server (MSSQL)
- ORM: Entity Framework Core
- Arayüz: Bootstrap 5 & Razor Views
- Güvenlik: ASP.NET Core Identity