Skip to main content
Bu repo aynı zamanda bir dotnet new şablonudur. .template.config/template.json sayesinde tüm DiyanetCleanArchitecture adlarını ve Keycloak client öneklerini otomatik yeniden adlandırarak sıfırdan, isme özel bir çözüm üretebilirsiniz.
Komut satırı yerine görsel sihirbaz tercih ederseniz: VS Code / Cursor için Studio Eklentisi aynı işi panelden yapar (DB/modül/servis/Keycloak seçimiyle).

Şablon kimliği

.template.config/template.json dosyasındaki tanımlar: sourceName, üretim sırasında -n parametresiyle verdiğiniz isme değiştirilir: dosya adları, namespace’ler, .csproj referansları ve appsettings/docker-compose içindeki proje adları dahil.

1. Şablonu kur

Repo kökünde:
Çıktıda diyanet-ca şablonu listelenir. Kurulu olduğunu doğrulamak için:
Şablonu güncellemek/yeniden kurmak için dotnet new install . --force, kaldırmak için dotnet new uninstall <repo-yolu> kullanın.

2. Yeni proje üret

Hedef bir klasörde:
Bu komut MyProject adıyla tüm çözümü üretir: MyProject.API, MyProject.Application, MyProject.Domain, … tüm DiyanetCleanArchitecture örnekleri MyProject olur.

Şablon parametreleri (symbols)

string
Üretilecek çözümün adı. DiyanetCleanArchitecture yerine geçer. Örn. -n MosqueFinder.
string
default:"my-project"
Keycloak client/realm öneki için kebab-case kimlik. appsettings*.json ve docker-compose*.yml içindeki my-project örneklerini değiştirir. Örn. --ProjectKeycloakId mosque-findermosque-finder-website, mosque-finder-admin client’ları.
choice
default:"net10.0"
Hedef framework. Şu an tek seçenek net10.0.
bool
default:"false"
true verilirse üretim sonrası otomatik dotnet restore atlanır.

Tam örnek

Üretilen çözüm:
Şablon üretiminde .git/, .vs/, bin/, obj/, *.user ve .template.config/ dışlanır. Üretilen çözüm temiz gelir; kendi git geçmişinizi git init ile başlatın.

3. Üretilen projeyi başlat

Devamı için Hızlı Başlangıç sayfasına geçin.

Şablon yerine düz klonlama

Şablon mekanizmasını kullanmadan, adları DiyanetCleanArchitecture olarak bırakıp doğrudan repoyu klonlayarak da çalışabilirsiniz:
Bu durumda projeyi kendi domain’inize göre uyarlarken namespace’ler DiyanetCleanArchitecture.* kalır.