Bu proje, bir bankacılık kredi sisteminin backend uygulamasıdır. Clean Architecture ve CQRS (Command Query Responsibility Segregation) pattern'leri kullanılarak geliştirilmiştir.
Proje aşağıdaki katmanlardan oluşmaktadır:
- Core: Tüm katmanların kullanabileceği cross-cutting concerns'leri içerir (Exception handling, security, base repository vb.)
- Domain: İş domaininin entity'lerini ve business rules'larını içerir
- Application: Use case'leri ve business logic'i içerir (CQRS pattern ile)
- Persistence: Veritabanı işlemlerini ve konfigürasyonlarını içerir
- WebAPI: HTTP endpoint'lerini içerir
- Bireysel ve Kurumsal Müşteri yönetimi
- Kredi başvuru yönetimi
- Kredi türü yönetimi
- JWT tabanlı kimlik doğrulama
- Exception handling middleware
- Repository pattern implementasyonu
- Entity Framework Core ile ORM
- AutoMapper ile object mapping
- MediatR ile CQRS implementasyonu
- Fluent Validation ile request validation
- .NET 8.0
- Entity Framework Core 8.0
- SQL Server
- AutoMapper
- MediatR
- FluentValidation
- JWT Authentication
-
Projeyi clone'layın git clone https://github.com/ceydaselaamet/BankingCreditSystem.git
-
Veritabanını oluşturun cd BankingCreditSystem dotnet ef database update --project BankingCreditSystem.Persistence --startup-project BankingCreditSystem.WebApi
-
Projeyi çalıştırın cd BankingCreditSystem.WebApi dotnet run
POST /api/IndividualCustomers
: Yeni bireysel müşteri oluşturmaGET /api/IndividualCustomers/{id}
: Bireysel müşteri detayıGET /api/IndividualCustomers
: Bireysel müşteri listesiPUT /api/IndividualCustomers
: Bireysel müşteri güncellemeDELETE /api/IndividualCustomers/{id}
: Bireysel müşteri silme
POST /api/LoanApplications
: Yeni kredi başvurusuGET /api/LoanApplications/{id}
: Kredi başvuru detayıGET /api/LoanTypes
: Kredi türü listesi