MY Yazılım Akademi bünyesinde Murat Yücedağ hocamız tarafından gerçekleştirilen ASP.NET Core eğitimine ait bir Blog projesidir. Yapılan bu proje, akademi bünyesindeki 3.projedir.
Bir blog projesi olarak tasarlanan çalışmaya, yazar paneliyle birlikte modülerlik kazandırılmıştır. Yazarların yazdığı blogların anasayfada yayımlanması, yorum yapılabilmesi, blogların Summernote eklentisiyle birlikte html olarak düzenlenebilmesi gibi bir blog sayfasının ihtiyacı olan tüm özellikler projede mevcuttur. ViewComponent, Area gibi yapılarla yönetilebilirlik sağlanmıştır. Rollemeyle birlikte admin paneline erişim kısıtı getirilmiştir. ViewModel kullanılarak kullanıcı gruplarının görebileceği entity özellikleri sınırlandırılmıştır. Tümüyle yönetilebilir ve modüler bir yapı oluşturularak Blog projesi hazırlanmıştır.
🟢 ASP.NET Core 6.0 : Platform bağımsız bir seçenek sunmasıyla öne çıkan .Net Core geliştirme ortamı, performans, modülerlik ve yenilikçi olması nedeniyle tercih edilmiştir.
🟢 Entity Framework 6.0 : Veritabanı ilişkisi için Object Relation Mapping(ORM) araçlarından biri olan Entity Framework kullanılmıştır.
🟢 Code First Yaklaşımı : Entityler ve diğer tüm yapılar, ORM Modelleme yöntemlerinden biri olan Code First Yaklaşımı ile oluşturulmuştur.
🟢 Microsoft SQL Server : Veritabanı yönetim sistemi olarak MSSQL kullanılmıştır.
🟢 N-Katmanlı Mimari ve Repository Design Pattern : Projenin Entity, DataAcces, Business ve Presentation katmanlarına ayrılarak yönetilebilir ve modüler bir yapıda olması sağlanmıştır. DataAccess katmanında veri erişimi, Repository Design Pattern ile soyutlanarak veritabanı işlemleri gerçekleştirilmiştir.
🟢 Identity : Projede, kullanıcı kimlik doğrulama ve yetkinlendirme yapmak için login ve register işlemlerinde kullanılmıştır.
🟢 Fluent Validation : Business katmanı içinde belirlenen doğrulama şartlarını yönetmek amacıyla kullanılmıştır.
🟢 API (Application Programming Interface) : Anlık hava durumu bilgisi sağlaması amacıyla yazar panelinde Dashboard içerisinde kullanılmıştır.
🟢 HTML-CSS-Bootstrap : Frontend tarafındaki tasarımlar için HTML, CSS ve Bootstrap kullanılmıştır.
🟢 AJAX : Bloglara kullanıcı yorumları eklemek için tercih edilmiştir. SweatAlert eklentisiyle kullanıcıya bildirim oluşturulmuştur.
🟢 LINQ : CRUD işlemler sırasında sorgulama, gruplama, sıralama gibi işlemler için LINQ kullanılmıştır.