ProductManagementApp, ürün yönetimi endpointlerini içeren (EF Core ve Dapper varyantları ile) ve kimlik doğrulama sağlayan, minimal-API tabanlı bir .NET 10 çözümüdür. Örnek ürün verileri sağlamak amacıyla, harici bir "fake-store" servisine bağlanan küçük bir API entegrasyonu içerir.
Ürün CRUD işlemlerinde Dapper + stored procedure kullanılmıştır.
- .NET 10 SDK
- SQL Server (veya bir SQL Server örneğine ait bağlantı dizesi)
- .NET 10
- ASP.NET Core Minimal APIs
- Entity Framework Core
- Dapper
- Fluent Validation
- ASP.NET Core Identity
- JWT
- AutoMapper
- HttpClient
- Swagger
- SQL Server
- Dependency Injection
- Ürün listeleme,ekleme, güncelleme işlemlerini gerçekleştirebilir, silme işlemini gerçekleştiremez.
- Ürün listeleme,ekleme, güncelleme ve silme işlemlerini gerçekleştirebilir.
- ProductMangement.Api projesindeki appsettings.json dosyasında bulunan ConnectionStrings {yourserver} alanını ve JwtSettings {yoursecretkey} alanlarını güncelleyin.
"ConnectionStrings": {
"ProductManagementDbConnection": "Server={yourServer};Database=ProductManagementDatabase;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True;"
},
"JwtSettings": {
"Issuer": "ProductManagementAPI",
"Audience": "ProductManagementAPIClient",
"DurationInHours": 1,
"Key": "yoursecretkey"
}Package Manager Console'da Default Project ProductManagement.Infrastructure olarak seçip database'i güncelleyin.
Update-DatabaseProductManagement.Infrastructure projesi içinde bulunan 'ProductStoredProsedureScripts.sql' dosyası CRUD işlemleri için kullanılan stored procedure scriptlerini içermektedir. Database'e ekleyebilirsiniz.
Geliştirme ortamında Swagger /swagger yolunda erişilebilir.
- Username: admin@localhost.com
- Password: P@ssword1
- Username: user@localhost.com
- Password: P@ssword1
- Authentication
POST /api/login/— giriş (JWT döner)POST /api/register/— kayıt
- Product (Dapper)
GET /api/Product/— tümünü alGET /api/Product/{id}— id ile alPOST /api/Product/— oluşturPUT /api/Product/{id}— güncelleDELETE /api/Product/{id}— sil (Yönetici rolü)
- Product (EF Core)
GET /api/ef/Product/— tümünü alGET /api/ef/Product/{id}— id ile alPOST /api/ef/Product/— oluşturPUT /api/ef/Product/{id}— güncelleDELETE /api/ef/Product/{id}— sil (Yönetici rolü)
- ProductsFake (harici API)
GET /api/fake/products/categories/{category}— kategoriye göre alGET /api/fake/products/search— arama (ürün adına göre)GET /api/fake/products/compare— karşılaştırma (varolan ürünler ile fake API'dan gelenleri ürün adına göre karşılaştırır. Benzer/farklı olarak liste döner.)