- Katılım
- 23 Eki 2022
- Mesajlar
- 6,145
- Çözümler
- 11
- Tepkime puanı
- 3,749
- Puanları
- 113
- Yaş
- 28
ASP.NET Core ile Full Stack E-Ticaret Uygulaması
Uygulamaya Genel Bakış
Uygulama çok geniş kapsamlı bir E-Ticaret uygulamasıdır. Kullanıcılar siteye girerek Anasayfadaki ürünleri görebilir, ürün detaylarına gidebilir veya kategori menüsünden ilgili kategorilerdeki ürünlere ulaşabilir. Bunlar dışında siteye kayıt olabilir, giriş yapabilir hatta şifresini unutursa "Şifremi Unuttum" bölümünden şifresini değiştirebilir.Bu projeyi geliştirirken benim en çok zamanımı alan kısım Admin Paneli kısmıdır. Sadece Admin panelini kodlamam yaklaşık 1 ay sürdü. Admin Paneli kısmında admin rolüne sahip kullanıcı Ürün, Kategori, Kullanıcı ve Rol kısımlarına veri ekleme, silme, güncelleme gibi işlemleri rahatlıkla yapabilir. Uygulamanın nasıl bir yazılım mimarisi ile geliştirildiği ve nasıl kullanılacağı aşağıda verilmiştir.
Front-End
Uygulamanın Front-End kısmı HTML, CSS, JavaScript, jQuery ve Bootstrap 5 yazılım dilleri ile geliştirildi.Back-End
Uygulamanın Back-End kısmında tüm VTYS (Veri Tabanı Yönetim Sistemi) de standart haline gelmiş SQL dili kullanıldı. Ancak Veritabanı sorgu yönetiminde .NET Core ile birlikte gelen Entity Framework aracındaki LINQ(Language Integrated Query) sorguları ile işlemler gerçekleştirildi.ASP.NET Core Konu Başlıkları
- Generic Repository Pattern
- Unit Of Work Design Pattern
- Entity Framework Core
- Fluent API
- Fluent Validation
- Dependency Injection
- ASP.NET Core Identity
- Web API (GET-POST-PUT-DELETE)
- Web API DTO (Data Transfer Object)
- Web API Cors (Cross-Origin Resource Sharing)
Web API
API (Application Programming Interface) kısmında Web katmanındaki gibi, Business (İş) katmanındaki metotlar çağrılarak GET (Verileri Almak), POST (Verileri Kaydetmek), DELETE (Verileri Silmek) ve PUT (Verileri Güncellemek) gibi standart işlemler yapıldı.API'deki bu bilgilere başka bir Front-End programlama dilinden ulaşılması için (JavaScript gibi) CORS (Cross-Origin Resource Sharing) politikası, projenin Startup katmanında yeni bir Policy (politika) eklenerek yasaklar kaldırılmıştır. Eğer bunu yapmamış olsaydık API katmanına JavaScript üzerinden erişim sağlayamazdık.
Uygulamayı Çalıştırmak
Projeyi sıfırdan çalıştırmak için ilgili dosyaları indirip açtıktan sonra yapılması gereken ilk işlem Veritabanı bağlantısıdır. Veritabanı bağlantısı "shopapp.webui > appsettings.json > ConnectionStrings > MsSqlDesktopConnection" adresi üzerinde yer alıyor. Bu veritabanı adresinin veritabanına iletildiği kod satırı ise "shopapp.webui > Startup > ConfigureServices" içerisinde yer almaktadır. Bu adresi istediğiniz gibi düzenleyip bağlantı sağlayabilirsiniz.Ben bu bağlantıyı MsSQL veritabanı ile yaptım, eğer sizin bilgisayarınızda MsSQL veritabanı yoksa uygulama veritabanına bağlanamayacak ve hata verecektir. Eğer uygulamayı başka bir veritabanında çalıştırmak istiyorsanız (MySQL gibi) "shopapp.webui" ve "shopapp.data" katmanlarındaki Migrations klasörünü silip yeni bir Migration oluşturmanız gerekir, tabii bunu yapabilmeniz için de ASP.NET Core bilgisine sahip olmanız gerekmektedir.
Mail Gönderimi
Mail gönderme bağlantısı "shopapp.webui > appsettings.json > EmailSender" sekmesi altında yer alıyor. Ben bu bağlantıyı varsayılan olarak Microsofta ait ücretsiz mail gönderme servisi ile ilişkilendirdim. Sizde bağlantı ayarlarını düzenleyip değiştirebilirsiniz, hatta uygulamayı yayımladığınızda hosting üzerinde bulunan Mail bilgilerini girerek Web Mail üzerinden kullanıcılara mail gönderebilirsiniz. Tabii bu servisi kullanabilmek için Host, Port ve EnableSsl dışında Mail gönderilecek Email adresi ile Mail'in şifresini yamanız gerekir, bu bilgiler yazılmadıkça uygulamadaki Mail gönderme servisleri çalışmayacaktır.
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
- Meta Title
- ASP.NET Core ile Kurumsal Full Stack E-Ticaret Projesi – Modüler Mimari & Güçlü Yönetim Paneli
- Meta Description
- Bu proje, ASP.NET Core ile geliştirilmiş kapsamlı bir Full Stack E-Ticaret uygulamasıdır. Kullanıcılar ürünleri inceleyebilir, kategori bazlı gezinebilir, kayıt olabilir, giriş yapabilir ve “Şifremi Unuttum” özelliğiyle hesaplarını yönetebilir. Projenin en güçlü yönlerinden biri, yaklaşık 1 ayda geliştirilen gelişmiş Admin Panelidir. Admin rolüne sahip kullanıcılar ürün, kategori, kullanıcı ve rol yönetimini (CRUD) kolayca yapabilir. Uygulama; Entity Framework Core, Generic Repository, Unit of Work, Fluent Validation, ASP.NET Core Identity ve RESTful Web API mimarisiyle geliştirilmiştir. CORS ayarları sayesinde API farklı Front-End teknolojileriyle güvenli şekilde kullanılabilir. MsSQL varsayılan veritabanı olarak yapılandırılmıştır; farklı VTYS’ler için migration desteği mevcuttur. Mail gönderimi appsettings üzerinden yapılandırılabilir.
