Skip to content

gzdknk/ProductManagementApp

Repository files navigation

Product Management App

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.

Gereksinimler

  • .NET 10 SDK
  • SQL Server (veya bir SQL Server örneğine ait bağlantı dizesi)

Kullanılan Teknolojiler

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

Özellikler

'User'

  • Ürün listeleme,ekleme, güncelleme işlemlerini gerçekleştirebilir, silme işlemini gerçekleştiremez.

'Admin'

  • Ürün listeleme,ekleme, güncelleme ve silme işlemlerini gerçekleştirebilir.

Yapılandırma

Database

  • 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"
}

Migration

Package Manager Console'da Default Project ProductManagement.Infrastructure olarak seçip database'i güncelleyin.

Update-Database

Stored Procedure

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

Default Admin Credentials

Default User Credentials

Endpoints

  • Authentication
    • POST /api/login/ — giriş (JWT döner)
    • POST /api/register/ — kayıt
  • Product (Dapper)
    • GET /api/Product/ — tümünü al
    • GET /api/Product/{id} — id ile al
    • POST /api/Product/ — oluştur
    • PUT /api/Product/{id} — güncelle
    • DELETE /api/Product/{id} — sil (Yönetici rolü)
  • Product (EF Core)
    • GET /api/ef/Product/ — tümünü al
    • GET /api/ef/Product/{id} — id ile al
    • POST /api/ef/Product/ — oluştur
    • PUT /api/ef/Product/{id} — güncelle
    • DELETE /api/ef/Product/{id} — sil (Yönetici rolü)
  • ProductsFake (harici API)
    • GET /api/fake/products/categories/{category} — kategoriye göre al
    • GET /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.)

Releases

No releases published

Packages

 
 
 

Contributors