Skip to content

Ekşi sözlük clone, Blazor ve REST API bilgilerinin pekiştirilmesi, Onion Architecture ve CQRS yapısının öğrenilmesi amacıyla geliştirildi.

Notifications You must be signed in to change notification settings

selcukshn/eksi-sozluk-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 

Repository files navigation

Proje geliştirmesi devam ediyor...

Ekşi Sözlük Clone

Ekşi sözlük clone, Blazor ve REST API bilgilerinin pekiştirilmesi, Onion Architecture ve CQRS yapısının öğrenilmesi amacıyla geliştirildi.

Proje Yapısı

  • Proje VS Code ve .NET6 sürümü ile geliştirildi.
  • Frontend
    • Blazor
    • Bootstrap 5
  • Backend
    • REST API
    • CQRS Pattern dahil edilerek Onion Architecture dizayn kalıbı uygulandı
    • Code First yaklaşımı ve SQL Server veritabanı kullanıldı.

Yapılandırma

1.Dependencies

Bağımlı paketlerin yüklenmesi
  • Blazor .../src/Client/Blazor/wwwroot> npm i
  • API .../src/Server/Api> dotnet restore
  • Common .../src/Common> dotnet restore

2.Connection String

  • Server/Api/appsettings.json
  • Server/Infrastructure/Persistence/Context/SozlukCloneContext.cs

Dosyalarının içerisinde bulunan veritabanı bağlantı adresleri güncellenmeli.

Server/Api/appsettings.json
"ConnectionStrings": {
    "SQLServer": "Server=...;Initial Catalog=EksiSozlukDb;Integrated Security=True;"
}
Server/Infrastructure/Persistence/Context/SozlukCloneContext.cs
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){
    if (!optionsBuilder.IsConfigured)
        optionsBuilder.UseSqlServer("Server=...;Initial Catalog=EksiSozlukDb;Integrated Security=True;");
}

3.Fake Data

Server/Infrastructure/Persistence/PersistenceRegistration.cs içerisinde bulunan

public static IServiceCollection AddPersistenceDependencies(this IServiceCollection service, IConfiguration configuration){

    new FakeData().GenerateAsync().GetAwaiter().GetResult();

}

methodu ile bağımlılıkların eklendiği sırada new FakeData().GenerateAsync() fonksiyonu ile varsayılan olarak 25 kullanıcı , 25 entry , 500 entry yorumu oluşturulup veritabanına ekleme işlemi gerçekleştirilir.

  • GenerateAsync() fonksiyonuna girilen parametre değerleri ile bu sayılar değiştirilebilir
  • Ekleme işlemi yalnızca veritabanında ilgili alanlarda kayıt yok ise yapılır

4.Database Update

Server/Infrastructure/Persistence/Migrations altında bulunan migrations'ların uygulanması

...\src\Server\Infrastructure\Persistence> dotnet ef database update

5.Projenin Çalıştırılması

  1. ...\src\Server\Api> dotnet run
  2. ...\src\Client\Blazor> dotnet run

About

Ekşi sözlük clone, Blazor ve REST API bilgilerinin pekiştirilmesi, Onion Architecture ve CQRS yapısının öğrenilmesi amacıyla geliştirildi.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published