Skip to main content
Bu sayfa, Diyanet Clean Architecture şablonunu local’de ayağa kaldırmadan önce makinenizde bulunması gereken araçları adım adım listeler. Şablon bir monorepo’dur: tek repo içinde .NET 10 API + iki React SPA + tüm altyapı (PostgreSQL, Redis, RabbitMQ, Keycloak, Seq) Docker ile gelir.
En kısa yol: Yalnızca Docker Desktop ve Git kurarsanız, docker compose up -d --build ile her şey (API + SPA’lar + altyapı) container içinde ayağa kalkar. .NET SDK ve Node.js yalnızca container dışında kod yazıp debug etmek istiyorsanız gereklidir.

Zorunlu araçlar

Docker Desktop

Tüm servisleri tek komutla çalıştırmak için. Windows’ta WSL 2 backend açık olmalı.

Git

Repoyu klonlamak ve sürüm kontrolü için.

.NET 10 SDK

API’yi IDE’de derlemek/debug etmek ve EF Core migration üretmek için.

Node.js 22

SPA’ları (Website + Admin) container dışında geliştirmek için.

1. Docker Desktop

Tüm altyapı (PostgreSQL 16, Redis 7, RabbitMQ 3.13, Keycloak 26, Seq) ve uygulamalar Docker Compose ile çalışır. Doğrulama:
docker --version          # Docker version 27.x veya üzeri
docker compose version    # Docker Compose version v2.x

2. Git

git --version             # git version 2.40+

3. .NET 10 SDK

Proje net10.0 hedefler. global.json yoktur, dolayısıyla sistemdeki en güncel .NET 10 SDK kullanılır.
dotnet --version          # 10.0.xxx dönmeli
dotnet --list-sdks        # 10.0.x bir SDK listelenmeli
EF Core migration komutları için dotnet-ef global aracını da kurun:
dotnet tool install --global dotnet-ef
dotnet ef --version       # 10.x

4. Node.js 22

İki SPA (Presentation.Website, Presentation.Admin) React 19 + Vite 6 + TypeScript 5.8 ile yazılmıştır. Docker imajları node:22-alpine kullanır; yerelde de Node 22 önerilir.
node --version            # v22.x
npm --version             # 10.x
Repoda .nvmrc veya engines kısıtı yoktur; Node 22 kullanın. Paket yöneticisi npm’dir (her SPA’da package-lock.json mevcut).

IDE / Editör seçenekleri

Proje IDE-bağımsızdır; aşağıdakilerden herhangi biriyle çalışabilirsiniz. Backend (.NET) ve frontend (TypeScript) için tercih farklı olabilir.
Backend (.NET) geliştirme için en zengin deneyim (Windows).
  • Workload: ASP.NET and web development + .NET desktop development.
  • Container araçları: Container development tools workload’u kuruluysa docker-compose.dcproj üzerinden F5 ile API + bağımlılıklar başlatılabilir.
  • Solution dosyası DiyanetCleanArchitecture.slnx (yeni XML tabanlı slnx formatı) — VS 2022 17.10+ ve VS 2026 destekler.

Opsiyonel araçlar

AraçNe içinNot
dotnet-efEF Core migration üretme/uygulamadotnet tool install -g dotnet-ef
NSwag CLISPA’larda OpenAPI’den TypeScript client üretmenpm run generate-api script’i çağırır
pgAdmin / DBeaverPostgreSQL’i incelemekDev compose’da pgAdmin :5050’de hazır gelir
RedisInsightRedis’i incelemekDev compose’da :5540’ta hazır gelir
PowerShell 7scripts/*.ps1 Keycloak yardımcılarıWindows’ta yerleşik PowerShell de çalışır

Donanım / işletim sistemi

  • OS: Windows 10/11, macOS veya Linux. (Şablon Windows Server üzerinde de üretime alınır — bkz. Operasyon › Docker Prod.)
  • RAM: Tüm dev yığını (API + 2 SPA + Postgres + Redis + RabbitMQ + Keycloak + Seq + gözlemlenebilirlik) aynı anda kalkacağı için en az 8 GB, rahat çalışma için 16 GB önerilir.
  • Boş port’lar: 5005, 3000, 3001, 5432, 6379, 5672, 15672, 8080, 5341, 5342, 5050, 5540, 9090, 3030 boş olmalı.

Sonraki adım

Araçlar hazır olduğunda iki yol var:

Şablondan yeni proje üret

dotnet new ile bu şablonu kendi proje adınızla klonlayın.

Doğrudan ayağa kaldır

Repoyu klonlayıp docker compose up -d --build ile çalıştırın.