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