Blog Sitesi Projesi
Bu proje, ASP.NET Core 7 ve Onion Architecture kullanılarak geliştirilmiş, kullanıcıların üye olup içerik paylaşabileceği, yorum yapabileceği ve beğenide bulunabileceği çok özellikli bir blog sitesidir. Proje, Entity Framework Core ile MSSQL veritabanını temel alır ve Hangfire kullanarak arka planda zamanlanmış görevleri yürütme imkânı sağlar. TinyMCE editörü entegrasyonu, makale yazma ve düzenleme işlemlerini kullanıcılar için kolay hale getirir. Ayrıca, farklı temalar sunarak kullanıcı deneyimini kişiselleştirme imkânı tanır.
Uygulamanın Temel Özellikleri
- Kullanıcı Yönetimi ve Roller:
- Üyelik Sistemi: Kullanıcılar siteye üye olabilir, makalelere yorum yapabilir ve beğenilerde bulunabilir.
- Roller: Üç temel rol bulunur:
- User: Üye olarak sisteme katılabilir, makaleleri okuyabilir, yorum yapabilir ve beğeni ekleyebilir.
- Admin: Site içeriklerini (makale, etiket, kategori) yönetebilir, kullanıcıların yorumlarını ve beğenilerini denetleyebilir.
- SuperAdmin: Tüm yönetim işlemlerinin yanı sıra site ayarları, tema seçimi ve kullanıcı yönetimini üstlenir.
- Makale Yönetimi:
- Makale Yazma ve Düzenleme: TinyMCE editörü kullanılarak kullanıcı dostu bir ortamda makaleler yazılabilir ve düzenlenebilir.
- Kategori ve Etiket Sistemi: Makaleler, belirli kategorilere ve etiketlere atanabilir, bu sayede kullanıcıların ilgisini çeken içerikleri daha kolay bulması sağlanır.
- Sıralama: Makaleler çeşitli kriterlere göre sıralanabilir, böylece popüler ya da en son eklenen içerikler kolayca görüntülenebilir.
- Tema Yönetimi:
- 5 Farklı Tema: Kullanıcılar veya yöneticiler, site için 5 farklı tema arasından seçim yapabilir. Bu, sitenin görünümünü ve kullanıcı deneyimini kişiselleştirir.
- API ile Tema Seçimi: Tema değişiklikleri API üzerinden yapılabilir, böylece kullanıcı dostu bir tema yönetimi sağlanır.
- Yorum ve Beğeni Sistemi:
- Kullanıcılar makalelere yorum yapabilir ve beğenide bulunabilir. Yorumlar yönetici onayına tabi olabilir, böylece içerik kalitesi korunur.
- Beğeni sistemi ile kullanıcılar ilgi duydukları içerikleri belirtebilir, popüler içerikler daha fazla ön plana çıkar.
- Onion Architecture Kullanımı:
- Katmanlı Yapı: Proje, bağımlılıkları azaltmak ve kodu daha modüler hale getirmek amacıyla Onion Architecture ile geliştirilmiştir. Bu yapı sayesinde proje farklı katmanlara ayrılarak daha okunabilir ve sürdürülebilir hale getirilmiştir.
- Bağımlılıkların Enjeksiyonu: Bağımlılık enjeksiyonu (Dependency Injection), farklı katmanların birbirinden bağımsız olmasını sağlar ve test edilebilirliği artırır.
- Hangfire Entegrasyonu:
- Arka Plan İşlemleri: Hangfire ile arka planda çalışan görevler yönetilir. Örneğin, günlük rapor gönderimleri, belirli zaman aralıklarında içerik denetimleri veya e-posta bildirimleri gibi işlemler Hangfire ile zamanlanabilir.
Teknik Detaylar
- ASP.NET Core 7 ve Entity Framework Core: ASP.NET Core 7 kullanılarak modern bir web uygulaması geliştirilmiştir. Entity Framework Core ile veritabanı işlemleri ORM aracılığıyla yönetilmiştir.
- MSSQL Veritabanı: Tüm veri işlemleri güvenilir ve hızlı bir erişim için MSSQL üzerinde yapılır.
- TinyMCE Editörü: Kullanıcıların makale yazarken ve düzenlerken zengin içerikler oluşturmasına olanak tanır.
- API Kullanımı: Tema seçimleri gibi işlemler API aracılığıyla yapılabilir, bu da uygulamayı daha esnek ve kullanıcı dostu hale getirir.
Bu proje, gelişmiş özellikleri ve esnek yapısıyla kullanıcıların keyifle vakit geçirebileceği bir blog sitesi olmayı hedefler. ASP.NET Core, EF Core, Onion Architecture, ve modern bir CMS yapısı sunarak profesyonel bir blog platformu için tüm gereksinimleri karşılar.