ABP Framework ile Adım Adım Yazılım Geliştirme Blog Serisi
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