ABP Framework ile Adım Adım Yazılım Geliştirme Blog Serisi

Admin 

1. Bölüm: ABP Framework’e Giriş ve Kurulum

  • ABP Framework nedir ve neden kullanmalıyız?
  • ABP.IO ve ABP CLI araçlarının kurulumu
  • Geliştirme ortamının hazırlanması (Visual Studio, VS Code veya Rider)
  • İlk ABP projesinin oluşturulması
    • ABP CLI ile proje oluşturma
    • Çeşitli şablonlar ve seçenekler (MVC, Angular, Blazor)
    • Proje yapısının incelenmesi
  • Projeyi çalıştırma ve temel ayarlar

2. Bölüm: Proje Mimarisini Anlama

  • ABP’nin katmanlı mimarisi
    • Domain Layer (Domain, Domain.Shared)
    • Application Layer (Application, Application.Contracts)
    • Infrastructure Layer (EntityFrameworkCore)
    • Presentation Layer (Web, HttpApi, HttpApi.Client)
  • Modüler yapı ve modüllerin birbirleriyle iletişimi
  • Dependency Injection yapısı
  • AutoMapper entegrasyonu
  • Domain-Driven Design prensiplerinin uygulanması

3. Bölüm: Veri Modeli Oluşturma

  • Entity kavramı ve entity oluşturma
  • Aggregate Root ve IEntity interface’i
  • Entity özellikleri ve varsayılan alanlar (Id, CreationTime, vb.)
  • EF Core entegrasyonu ve DbContext yapılandırması
  • Code First yaklaşımı ile migration oluşturma
  • Veritabanı şemasını güncelleme
  • Seed data oluşturma

4. Bölüm: Domain Layer Geliştirme

  • Domain Service’ler oluşturma
  • Business logic implementasyonu
  • Domain Event’ler
  • Validation kuralları
  • Value Objects kullanımı
  • Specification pattern uygulaması
  • Repository pattern ve IRepository interface’i

5. Bölüm: Application Layer Geliştirme

  • Application Service’ler oluşturma
  • DTO (Data Transfer Object) tasarımı
  • CRUD operasyonları implementasyonu
  • AutoMapper profilleri ile entity-DTO dönüşümleri
  • IApplicationService interface kullanımı
  • Validasyonlar ve iş kurallarının uygulanması
  • ABP Features ve özellik kontrolü

6. Bölüm: API Katmanı Geliştirme

  • Auto API Controller özellikleri
  • API endpoint’lerin özelleştirilmesi
  • Swagger entegrasyonu ve API dokümantasyonu
  • API versiyonlama
  • Request ve response formatları
  • API güvenlik ayarları (CORS, Authentication)
  • API testeri ve Postman koleksiyonu oluşturma

7. Bölüm: Kullanıcı Arayüzü Geliştirme

  • Seçilen UI teknolojisine göre (MVC, Angular, Blazor) temel yapılandırma
  • Layout ve tema özelleştirme
  • Localization (Çoklu dil desteği)
  • ABP UI bileşenlerinin kullanımı (DataTable, Modal, vb.)
  • Form validasyonları
  • Dynamic Form yapısı
  • UI komponentlerinin oluşturulması

8. Bölüm: Güvenlik ve Yetkilendirme

  • Identity Server entegrasyonu
  • Kullanıcı ve rol yönetimi
  • Permission sistemi yapılandırması
  • Yetkilendirme kuralları oluşturma
  • Politika tabanlı yetkilendirme
  • Claims kullanımı
  • Güvenli API erişimi için JWT token yapılandırması

9. Bölüm: Çok Kiracılı (Multi-tenancy) Yapı

  • Multi-tenancy kavramı ve ABP’nin multi-tenancy desteği
  • Tenant yönetimi
  • Tenant-spesifik veri izolasyonu
  • Connection string yönetimi
  • Tenant switch mekanizması
  • Host ve tenant arasındaki ayrımlar
  • Tenant-spesifik özellikler

10. Bölüm: Background İşler ve Zamanlayıcılar

  • Background Job sistemi kullanımı
  • Hangfire entegrasyonu
  • Job scheduling
  • Recurring job’lar oluşturma
  • Background worker’lar
  • Quartz.NET entegrasyonu
  • Job yönetimi ve izleme

11. Bölüm: Event Bus ve Distributed Events

  • Event Bus kavramı ve ABP’nin Event Bus desteği
  • Local eventler ve distributed eventler
  • Event handler’lar oluşturma
  • RabbitMQ entegrasyonu
  • Event subscription yönetimi
  • Distributed event pattern uygulaması
  • Microservice mimarisinde event kullanımı

12. Bölüm: Caching ve Performans Optimizasyonu

  • ABP Caching sistemi
  • Distributed Cache implementasyonu
  • Redis entegrasyonu
  • Entity Cache kullanımı
  • Query optimizasyonu
  • In-memory caching
  • ETags ve API response caching

13. Bölüm: Exception Handling ve Logging

  • Global exception handling
  • Structured logging
  • Serilog entegrasyonu
  • Log seviyelerini yapılandırma
  • Log filtering
  • Exception localization
  • Kullanıcı dostu hata mesajları

14. Bölüm: Test Yazımı

  • Unit test projeleri oluşturma
  • Integration testler
  • Repository ve service testleri
  • Mock ve stub kullanımı
  • TestBase sınıfları
  • UI testleri
  • Code coverage analizi

15. Bölüm: Deployment ve DevOps

  • CI/CD pipeline kurulumu
  • Docker container’ları
  • Kubernetes deployment
  • Azure, AWS veya diğer cloud servisleri ile deployment
  • Environment configuration
  • Health checks
  • Monitoring ve alerting

16. Bölüm: Uygulama Güncellemeleri ve Versiyonlama

  • ABP modül versiyonlaması
  • Migrasyon stratejileri
  • Breaking change yönetimi
  • ABP update süreci
  • NuGet paket yönetimi
  • Module zero startup template güncelleme
  • ABP CLI update komutları

17. Bölüm: Örnek Proje: To-Do Uygulaması

  • Gerçek bir To-Do uygulaması geliştirme
  • Tüm katmanların implementasyonu
  • Kullanıcı yönetimi ve yetkilendirme
  • UI tasarımı ve responsive layout
  • API ve client entegrasyonu
  • Deployment ve yayınlama

18. Bölüm: İleri Seviye Özellikler ve En İyi Pratikler

  • ABP Commercial özellikleri
  • Module geliştirme ve paylaşma
  • ABP ile microservice mimarisi
  • Performans ipuçları
  • Güvenlik en iyi pratikleri
  • Code quality ve static code analysis
  • ABP community ve ekosistem

Recommended Posts

ABP Framework ile Adım Adım Yazılım Geliştirme – Bölüm 7: Kullanıcı Arayüzü Geliştirme

Uygulamanın kullanıcılarla etkileşim kurduğu katman olan Kullanıcı Arayüzü (UI) Katmanı, genellikle ASP.NET Core MVC (Razor Pages), Angular veya Blazor gibi teknolojilerle geliştirilir. ABP Framework, seçtiğiniz UI teknolojisiyle sorunsuz entegrasyon sağlayarak geliştirme sürecinizi hızlandırır ve ortak UI ihtiyaçlarını karşılar. Bu bölümde, ABP ile kullanıcı arayüzü geliştirmenin temel yönlerini ele alacağız. Seçilen UI Teknolojisine Göre Temel Yapılandırma […]

Admin 

ABP Framework ile Adım Adım Yazılım Geliştirme – Bölüm 6: API Katmanı Geliştirme

Modern uygulamalarda API (Application Programming Interface) katmanı, hem istemci uygulamalar (mobil, web) hem de diğer servislerle iletişim kurmak için kritik öneme sahiptir. ABP Framework, güçlü ve kolay yapılandırılabilir bir API katmanı oluşturmanızı sağlar. Bu bölümde, ABP’nin API geliştirme özelliklerini ve en iyi pratikleri inceleyeceğiz. Auto API Controller Özellikleri ABP Framework’ün en kullanışlı özelliklerinden biri Auto […]

Admin 

ABP Framework ile Adım Adım Yazılım Geliştirme – Bölüm 5: Application Layer Geliştirme

Application Layer (Uygulama Katmanı), uygulamanın kullanım senaryolarını (use cases) ve kullanıcı hikayelerini yönetir. Domain katmanındaki işlevleri kullanarak kullanıcı arayüzünden gelen isteklere yanıt verir ve sunum katmanı ile domain katmanı arasındaki bir köprü görevi görür. Bu bölümde, uygulama katmanının temel bileşenlerini ve geliştirme pratiklerini ele alacağız. Application Service’ler Oluşturma Application Service (Uygulama Servisi), dış dünyadan (UI, […]

Admin 

Leave A Comment