Skip to content

.Net Core geliştirme platformunu kullanarak N-Katmanlı Mimari ile bir Blog projesi oluşturdum.

Notifications You must be signed in to change notification settings

turkay-sagir/FoodieBlog

Repository files navigation

FoodieBlog Projesi

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.

Projeye Genel Bakış

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.

Kullanılan Teknolojiler

🟢 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.

Projeden Görüntüler

Veritabanı


Anasayfa


İletişim


Blog Detayı 1


Blog Detayı 2


Login Sayfası


Register Sayfası


404 Hata Sayfası


401 Hata Sayfası


Yazar Kısmı Blog Sayfası


Yazar Kısmı Mesaj Sayfası


Admin Blog Listesi


Admin Tüm Blog Listesi


Admin Blog Güncelleme


Admin Yeni Blog Ekleme


Admin BLog Etiket Ekleme


Admin Dashboard


Admin Profil Düzenleme


Admin Gelen Mesaj


Admin Giden Mesaj


Admin Mesaj Gönderme


Admin Bildirim Listesi


Admin Yeni Bildirim Oluşturma


Admin Yorum Listesi


Admin Yorum Detayı


Admin Rol Listesi


Admin Rol Güncelleme


Admin Yeni Rol Ekleme


Admin Kullanıcı Listesi


Admin Yeni Rol Ata


Admin İstatistik


Admin Etiket Listesi


Admin Navbar Bildirimler


Admin Navbar Mesajlar