Proje geliştirmesi devam ediyor...
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 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ı.
- .NET6 6.0.16+
- SQL Server
RabbitMQ- Node.js npm kaynağından javascript ve css paketlerini yüklemek için
- Blazor
.../src/Client/Blazor/wwwroot> npm i
- API
.../src/Server/Api> dotnet restore
- Common
.../src/Common> dotnet restore
Server/Api/appsettings.json
Server/Infrastructure/Persistence/Context/SozlukCloneContext.cs
Dosyalarının içerisinde bulunan veritabanı bağlantı adresleri güncellenmeli.
"ConnectionStrings": {
"SQLServer": "Server=...;Initial Catalog=EksiSozlukDb;Integrated Security=True;"
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){
if (!optionsBuilder.IsConfigured)
optionsBuilder.UseSqlServer("Server=...;Initial Catalog=EksiSozlukDb;Integrated Security=True;");
}
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
Server/Infrastructure/Persistence/Migrations
altında bulunan migrations'ların uygulanması
...\src\Server\Infrastructure\Persistence> dotnet ef database update
...\src\Server\Api> dotnet run
...\src\Client\Blazor> dotnet run