BasicCRUD, ASP.NET Core ile oluşturulmuş modüler ve katmanlı bir mimariye sahip bir projedir. Temiz ve ölçeklenebilir bir yapıda CRUD (Create, Read, Update, Delete) işlemlerinin nasıl uygulanacağını gösterir. Ayrıca, Serilog ile güçlendirilmiş sağlam bir loglama sistemi içerir ve detaylı izleme ile hata takibini kolaylaştırır.


Proje Yapısı

Proje, sorumluluk ayrımını sağlamak ve sürdürülebilirliği korumak için aşağıdaki katmanlara ayrılmıştır:

  1. BasicCRUD.Api

    • Uygulama ile etkileşim sağlayan HTTP uç noktalarını sunar.
    • HTTP isteklerini yönetir ve yanıtları döner.
  2. BasicCRUD.Application

    • İş mantığını yönetir ve iş kurallarını uygular.
    • Domain ve altyapı katmanlarıyla iletişim kurar.
  3. BasicCRUD.Domain

    • Çekirdek iş mantığını, domain varlıklarını ve değer nesnelerini tanımlar.
    • Uygulamanın temel bileşenlerini içerir.
  4. BasicCRUD.Infrastructure

    • Veri erişimi ve kalıcılığı sağlar.
    • Repository yapısını uygular ve veritabanı ile bağlantıyı yönetir.
  5. BasicCRUD.Shared

    • Tüm katmanlarda kullanılan ortak yardımcı sınıfları, sabitleri ve genel araçları içerir.

Kullanılan Teknolojiler

  • .NET Core 8
  • Entity Framework Core (veritabanı işlemleri için)
  • SQL Server (veritabanı olarak)
  • FluentValidation (model doğrulama için)
  • Serilog (yapılandırılmış loglama ve hata takibi için)
  • Swagger/OpenAPI (API dokümantasyonu için)

Özellikler

  • Domain varlıkları için CRUD işlemleri.
  • Domain-Driven Design (DDD) prensiplerine uygun temiz ve modüler mimari.
  • Serilog ile entegre loglama sistemi:
    • Günlük olarak döngüsel (logs/error-log-.txt) hata loglama.
    • Gerçek zamanlı izleme için konsola log çıktısı.
    • Sadece hata seviyesindeki ve üzerindeki logların kaydedilmesi.
  • Bağımlılık Enjeksiyonu sayesinde ölçeklenebilir ve test edilebilir yapı.
  • Swagger ile detaylı API dökümantasyonu.

Proje Linki