Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buraksenyurt/cleanarchitecture_101
Uygulamalı clean architecture eğitimi için hazırlanmış baz repodur.
https://github.com/buraksenyurt/cleanarchitecture_101
Last synced: 15 days ago
JSON representation
Uygulamalı clean architecture eğitimi için hazırlanmış baz repodur.
- Host: GitHub
- URL: https://github.com/buraksenyurt/cleanarchitecture_101
- Owner: buraksenyurt
- Created: 2023-12-05T13:57:27.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-30T09:44:20.000Z (5 months ago)
- Last Synced: 2024-10-12T08:17:04.422Z (about 1 month ago)
- Language: C#
- Size: 251 KB
- Stars: 10
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Clean Architecture 101
Uygulamalı clean architecture eğitimi için hazırlanmış baz repodur.
- [Clean Architecture 101](#clean-architecture-101)
- [Ön Hazırlıklar](#ön-hazırlıklar)
- [Çalışma Zamanı](#çalışma-zamanı)
- [Genel Çözüm İskeleti](#genel-çözüm-i̇skeleti)
- [Nasıl Çalışmalı?](#nasıl-çalışmalı)## Ön Hazırlıklar
Örnekte şu an için sqlite tabanlı fiziki bir veritabanı dosyası kullanılmakta. Migration işlemleri için web api uygulaması ayaktayken Data projesi altında aşağıdaki komutları çalıştırmak yeterli.
```bash
# Migration planını hazırlamak için
dotnet ef migrations add InitialCreate --startup-project ../../presentation/GamersWorld.WebApi# Database'i oluşturmak için
dotnet ef database update --startup-project ../../presentation/GamersWorld.WebApi
```## Çalışma Zamanı
Uygulamanın son kullanıcı ile temas noktası web api örneğidir. WebApi klasöründeyken proje aşağıdaki komutla çalıştırılabilir.
```bash
dotnet run
```Postman için örnek komutları [şuradaki dosyadan](Clean%20Architecture%20Training.postman_collection.json) alabilirsiniz.
## Genel Çözüm İskeleti
Bu mimarinin uygulanmasında aşağıdakine benzer bir solution yapısı kullanılabilir.
```text
root
├── src
│ ├── core
│ │ ├── Application
│ │ └── Domain
│ ├── infrastructure
│ │ ├── Data
│ │ └── Shared
│ └── presentation
│ └── WebApi
└── tests
├── core
│ ├── Application.Tests
│ └── Domain.Tests
├── infrastructure
│ ├── Data.Tests
│ └── Shared.Tests
└── presentation
└── WebApi.Tests
```## Nasıl Çalışmalı?
Repodaki base branch'ten yeni bir branch çıkılıp geliştirmeler bunun üzerinde yapılabilir. base branch'te solution'ın genel iskeleti kuruludur ve ihtiyaç duyulacak pek çok sınıf dosyası içi boş olacak şekilde hazıdır. Eğitim sırasında bu içerik hazırlanarak ilerlenir. Yapılması gereken değişiklikler için main branch'te yer alan kodun son haline bakılabilir.
Swagger dokümantasyonu için localhost:5175/swagger/index.html adresine gidilebilir.
![Swagger Runtime](swagger_runtime.png)