From 01ab89a871ea26dff5c46a8b483d694d705b5fc8 Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Wed, 18 Feb 2026 16:11:36 +0400 Subject: [PATCH 1/2] =?UTF-8?q?1=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client.Wasm/Components/StudentCard.razor | 8 +- Client.Wasm/wwwroot/appsettings.json | 2 +- CloudDevelopment.sln | 40 ++++- CreditApp.Api/Controllers/CreditController.cs | 36 +++++ CreditApp.Api/CreditApp.Api.csproj | 24 +++ CreditApp.Api/Program.cs | 51 ++++++ CreditApp.Api/Properties/launchSettings.json | 38 +++++ CreditApp.Api/appsettings.Development.json | 8 + CreditApp.Api/appsettings.json | 16 ++ .../CreditApp.Application.csproj | 18 +++ .../Interfaces/ICreditApplicationGenerator.cs | 18 +++ .../Interfaces/ICreditService.cs | 19 +++ .../Services/CreditService.cs | 43 +++++ CreditApp.Domain/CreditApp.Domain.csproj | 9 ++ .../Dictionaries/CreditDictionaries.cs | 39 +++++ .../Entities/CreditApplication.cs | 48 ++++++ .../CreditApp.Infrastructure.csproj | 17 ++ .../Generators/CreditApplicationGenerator.cs | 53 +++++++ CreditApp/CreditApp.AppHost/AppHost.cs | 15 ++ .../CreditApp.AppHost.csproj | 23 +++ .../Properties/launchSettings.json | 29 ++++ .../appsettings.Development.json | 8 + CreditApp/CreditApp.AppHost/appsettings.json | 9 ++ .../CreditApp.ServiceDefaults.csproj | 22 +++ .../CreditApp.ServiceDefaults/Extensions.cs | 128 +++++++++++++++ Directory.Packages.props | 6 + README.md | 148 ++++-------------- 27 files changed, 752 insertions(+), 123 deletions(-) create mode 100644 CreditApp.Api/Controllers/CreditController.cs create mode 100644 CreditApp.Api/CreditApp.Api.csproj create mode 100644 CreditApp.Api/Program.cs create mode 100644 CreditApp.Api/Properties/launchSettings.json create mode 100644 CreditApp.Api/appsettings.Development.json create mode 100644 CreditApp.Api/appsettings.json create mode 100644 CreditApp.Application/CreditApp.Application.csproj create mode 100644 CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs create mode 100644 CreditApp.Application/Interfaces/ICreditService.cs create mode 100644 CreditApp.Application/Services/CreditService.cs create mode 100644 CreditApp.Domain/CreditApp.Domain.csproj create mode 100644 CreditApp.Domain/Dictionaries/CreditDictionaries.cs create mode 100644 CreditApp.Domain/Entities/CreditApplication.cs create mode 100644 CreditApp.Infrastructure/CreditApp.Infrastructure.csproj create mode 100644 CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs create mode 100644 CreditApp/CreditApp.AppHost/AppHost.cs create mode 100644 CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj create mode 100644 CreditApp/CreditApp.AppHost/Properties/launchSettings.json create mode 100644 CreditApp/CreditApp.AppHost/appsettings.Development.json create mode 100644 CreditApp/CreditApp.AppHost/appsettings.json create mode 100644 CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj create mode 100644 CreditApp/CreditApp.ServiceDefaults/Extensions.cs create mode 100644 Directory.Packages.props diff --git a/Client.Wasm/Components/StudentCard.razor b/Client.Wasm/Components/StudentCard.razor index 661f118..a493183 100644 --- a/Client.Wasm/Components/StudentCard.razor +++ b/Client.Wasm/Components/StudentCard.razor @@ -4,10 +4,10 @@ - Номер №X "Название лабораторной" - Вариант №Х "Название варианта" - Выполнена Фамилией Именем 65ХХ - Ссылка на форк + Номер №1 "Кэширование" + Вариант №2 "Кредитная заявка" + Выполнил Сукач Данил 6511 + Ссылка на форк diff --git a/Client.Wasm/wwwroot/appsettings.json b/Client.Wasm/wwwroot/appsettings.json index 4dda7c0..55c76b5 100644 --- a/Client.Wasm/wwwroot/appsettings.json +++ b/Client.Wasm/wwwroot/appsettings.json @@ -6,5 +6,5 @@ } }, "AllowedHosts": "*", - "BaseAddress": "https://localhost:7170/land-plot" + "BaseAddress": "https://localhost:7084/api/Credit" } \ No newline at end of file diff --git a/CloudDevelopment.sln b/CloudDevelopment.sln index cb48241..c35b184 100644 --- a/CloudDevelopment.sln +++ b/CloudDevelopment.sln @@ -1,10 +1,22 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.14.36811.4 +# Visual Studio Version 18 +VisualStudioVersion = 18.3.11505.172 d18.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.Wasm", "Client.Wasm\Client.Wasm.csproj", "{AE7EEA74-2FE0-136F-D797-854FD87E022A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.AppHost", "CreditApp\CreditApp.AppHost\CreditApp.AppHost.csproj", "{595C6305-ACA3-4E87-8CBF-27A4C92BAE97}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.ServiceDefaults", "CreditApp\CreditApp.ServiceDefaults\CreditApp.ServiceDefaults.csproj", "{A7B14B5D-B738-B77E-404F-CF5182E30A41}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Api", "CreditApp.Api\CreditApp.Api.csproj", "{E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Domain", "CreditApp.Domain\CreditApp.Domain.csproj", "{2B736CD0-1260-4F6F-854F-5F35E0CBC260}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Application", "CreditApp.Application\CreditApp.Application.csproj", "{69FCFAEE-907C-4365-897A-EF120A644131}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Infrastructure", "CreditApp.Infrastructure\CreditApp.Infrastructure.csproj", "{C5A26B57-58ED-45E9-9371-AAF64F30C3A8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +27,30 @@ Global {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.Build.0 = Release|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Release|Any CPU.ActiveCfg = Release|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Release|Any CPU.Build.0 = Release|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Release|Any CPU.Build.0 = Release|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Release|Any CPU.Build.0 = Release|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Release|Any CPU.Build.0 = Release|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Debug|Any CPU.Build.0 = Debug|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Release|Any CPU.ActiveCfg = Release|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Release|Any CPU.Build.0 = Release|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CreditApp.Api/Controllers/CreditController.cs b/CreditApp.Api/Controllers/CreditController.cs new file mode 100644 index 0000000..b53031f --- /dev/null +++ b/CreditApp.Api/Controllers/CreditController.cs @@ -0,0 +1,36 @@ +using CreditApp.Application.Interfaces; +using Microsoft.AspNetCore.Mvc; + +namespace CreditApp.Api.Controllers; + +/// +/// Контроллер для работы с кредитными заявками через HTTP API. +/// Реализует конечную точку получения заявки по идентификатору. +/// Сервис для получения данных кредитных заявок. +/// Логгер для записи событий и ошибок. +/// +[Route("api/[controller]")] +[ApiController] +public class CreditController( + ICreditService creditService, + ILogger logger + ) : ControllerBase +{ + /// + /// Получает кредитную заявку по идентификатору. + /// + /// Идентификатор запрашиваемой заявки (передаётся в строке запроса). + /// Токен отмены для асинхронной операции. + /// HTTP 200 с объектом заявки при успешном получении. + [HttpGet] + public async Task Get([FromQuery] int id, CancellationToken ct) + { + logger.LogInformation("Request for credit {CreditId} started", id); + + var result = await creditService.GetAsync(id, ct); + + logger.LogInformation("Request for credit {CreditId} completed", id); + + return Ok(result); + } +} diff --git a/CreditApp.Api/CreditApp.Api.csproj b/CreditApp.Api/CreditApp.Api.csproj new file mode 100644 index 0000000..a98eea8 --- /dev/null +++ b/CreditApp.Api/CreditApp.Api.csproj @@ -0,0 +1,24 @@ + + + + net8.0 + enable + enable + true + $(NoWarn);1591 + + + + + + + + + + + + + + + + diff --git a/CreditApp.Api/Program.cs b/CreditApp.Api/Program.cs new file mode 100644 index 0000000..caf1309 --- /dev/null +++ b/CreditApp.Api/Program.cs @@ -0,0 +1,51 @@ +using CreditApp.Application.Interfaces; +using CreditApp.Application.Services; +using CreditApp.Infrastructure.Generators; +using Microsoft.OpenApi; +using System.Reflection; + +var builder = WebApplication.CreateBuilder(args); + +builder.AddRedisDistributedCache("credit-cache"); + +var centralBankRate = builder.Configuration.GetValue("CreditGenerator:CentralBankRate", 16.0); + +builder.Services.AddSingleton( + new CreditApplicationGenerator(centralBankRate)); + +builder.Services.AddScoped(); + +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(options => +{ + var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; + var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); + options.IncludeXmlComments(xmlPath); +}); + +builder.Services.AddCors(options => +{ + options.AddPolicy("DefaultCors", + policy => policy.AllowAnyOrigin() + .AllowAnyHeader() + .AllowAnyMethod()); +}); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1"); + c.RoutePrefix = string.Empty; + }); +} + +app.UseCors("DefaultCors"); + +app.MapControllers(); + +app.Run(); diff --git a/CreditApp.Api/Properties/launchSettings.json b/CreditApp.Api/Properties/launchSettings.json new file mode 100644 index 0000000..a9a106e --- /dev/null +++ b/CreditApp.Api/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:53917", + "sslPort": 44347 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5022", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7084;http://localhost:5022", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/CreditApp.Api/appsettings.Development.json b/CreditApp.Api/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/CreditApp.Api/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CreditApp.Api/appsettings.json b/CreditApp.Api/appsettings.json new file mode 100644 index 0000000..89cde0c --- /dev/null +++ b/CreditApp.Api/appsettings.json @@ -0,0 +1,16 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "redis": "localhost:6379" + } + , + "CreditGenerator": { + "CentralBankRate": 16.0 + } +} diff --git a/CreditApp.Application/CreditApp.Application.csproj b/CreditApp.Application/CreditApp.Application.csproj new file mode 100644 index 0000000..9720842 --- /dev/null +++ b/CreditApp.Application/CreditApp.Application.csproj @@ -0,0 +1,18 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + diff --git a/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs new file mode 100644 index 0000000..eb1cd57 --- /dev/null +++ b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs @@ -0,0 +1,18 @@ +using CreditApp.Domain.Entities; + +namespace CreditApp.Application.Interfaces; + +/// +/// Генерирует объекты заявок на кредит для тестирования, заполнения демонстрационных данных или инициализации. +/// Реализации должны создавать и возвращать готовый к использованию экземпляр . +/// +public interface ICreditApplicationGenerator +{ + /// + /// Асинхронно генерирует заявку на кредит с указанным идентификатором. + /// + /// Идентификатор создаваемой заявки. + /// Токен отмены для асинхронной операции. + /// Сгенерированный экземпляр . + public Task GenerateAsync(int id, CancellationToken ct); +} diff --git a/CreditApp.Application/Interfaces/ICreditService.cs b/CreditApp.Application/Interfaces/ICreditService.cs new file mode 100644 index 0000000..213bb4f --- /dev/null +++ b/CreditApp.Application/Interfaces/ICreditService.cs @@ -0,0 +1,19 @@ +using CreditApp.Domain.Entities; + +namespace CreditApp.Application.Interfaces; + +/// +/// Сервис для работы с объектами кредитных заявок. +/// Предоставляет операции получения и управления заявками в приложении. +/// +public interface ICreditService +{ + /// + /// Асинхронно получает заявку на кредит по её идентификатору. + /// + /// Идентификатор заявки. + /// Токен отмены для асинхронной операции. + /// Экземпляр , соответствующий запрошенному идентификатору. + public Task GetAsync(int id, CancellationToken ct); + +} diff --git a/CreditApp.Application/Services/CreditService.cs b/CreditApp.Application/Services/CreditService.cs new file mode 100644 index 0000000..b85a144 --- /dev/null +++ b/CreditApp.Application/Services/CreditService.cs @@ -0,0 +1,43 @@ +using System.Text.Json; +using CreditApp.Application.Interfaces; +using CreditApp.Domain.Entities; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Logging; + +namespace CreditApp.Application.Services; + +public class CreditService(IDistributedCache distributedCache, + ICreditApplicationGenerator generator, + ILogger logger) + : ICreditService +{ + public async Task GetAsync(int id, CancellationToken ct) + { + var cacheKey = $"Credit_{id}"; + + var cached = await distributedCache.GetStringAsync(cacheKey, ct); + + if (!string.IsNullOrEmpty(cached)) + { + logger.LogInformation("Cache HIT {CacheKey}", cacheKey); + return JsonSerializer.Deserialize(cached)!; + } + + logger.LogInformation("Cache MISS {CacheKey}", cacheKey); + + var credit = await generator.GenerateAsync(id, ct); + + var options = new DistributedCacheEntryOptions + { + AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10) + }; + + await distributedCache.SetStringAsync( + cacheKey, + JsonSerializer.Serialize(credit), + options, + ct); + + return credit; + } +} diff --git a/CreditApp.Domain/CreditApp.Domain.csproj b/CreditApp.Domain/CreditApp.Domain.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/CreditApp.Domain/CreditApp.Domain.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/CreditApp.Domain/Dictionaries/CreditDictionaries.cs b/CreditApp.Domain/Dictionaries/CreditDictionaries.cs new file mode 100644 index 0000000..4c11577 --- /dev/null +++ b/CreditApp.Domain/Dictionaries/CreditDictionaries.cs @@ -0,0 +1,39 @@ +namespace CreditApp.Domain.Dictionaries; + +/// +/// Статический справочник типов кредитов и статусов заявок. +/// Содержит массивы доступных типов кредитов и статусов, а также утилиту для проверки терминального статуса. +/// +public static class CreditDictionaries +{ + /// + /// Доступные типы кредитов. + /// Порядок и значения используются в пользовательском интерфейсе и бизнес-логике приложения. + /// + public static readonly string[] CreditTypes = + [ + "Потребительский", + "Ипотека", + "Автокредит" + ]; + + /// + /// Возможные статусы кредитной заявки. + /// Последние два статуса считаются терминальными (завершёнными). + /// + public static readonly string[] Statuses = + [ + "Новая", + "В обработке", + "Одобрена", + "Отклонена" + ]; + + /// + /// Определяет, является ли указанный статус терминальным (завершённым). + /// + /// Строковое представление статуса заявки. + /// True, если статус равен "Одобрена" или "Отклонена". + public static bool IsTerminal(string status) + => status is "Одобрена" or "Отклонена"; +} diff --git a/CreditApp.Domain/Entities/CreditApplication.cs b/CreditApp.Domain/Entities/CreditApplication.cs new file mode 100644 index 0000000..06d451a --- /dev/null +++ b/CreditApp.Domain/Entities/CreditApplication.cs @@ -0,0 +1,48 @@ +namespace CreditApp.Domain.Entities; + +/// +/// Кредитная заявка +/// +public class CreditApplication +{ + /// + /// Идентификатор в системе + /// + public int Id { get; init; } + /// + /// Тип кредита + /// + public required string CreditType { get; init; } + /// + /// Запрашиваемая сумма + /// + public decimal RequestedAmount { get; init; } + /// + /// Срок в месяцах + /// + public int TermMonths { get; init; } + /// + /// Процентная ставка + /// + public double InterestRate { get; init; } + /// + /// Дата подачи + /// + public DateOnly SubmissionDate { get; init; } + /// + /// Необходимость страховки + /// + public bool HasInsurance { get; init; } + /// + /// Статус заявки + /// + public required string Status { get; init; } + /// + /// Дата решения + /// + public DateOnly? DecisionDate { get; init; } + /// + /// Одобренная сумма + /// + public decimal? ApprovedAmount { get; init; } +} diff --git a/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj new file mode 100644 index 0000000..eed02d5 --- /dev/null +++ b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + diff --git a/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs new file mode 100644 index 0000000..5547937 --- /dev/null +++ b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs @@ -0,0 +1,53 @@ +using Bogus; +using CreditApp.Application.Interfaces; +using CreditApp.Domain.Dictionaries; +using CreditApp.Domain.Entities; + +namespace CreditApp.Infrastructure.Generators; + +public class CreditApplicationGenerator(double centralBankRate) + : ICreditApplicationGenerator +{ + public Task GenerateAsync(int id, CancellationToken ct) + { + var faker = new Faker(); + + var status = faker.PickRandom(CreditDictionaries.Statuses); + + var submissionDate = DateOnly.FromDateTime( + faker.Date.Between(DateTime.Now.AddYears(-2), DateTime.Now)); + + DateOnly? decisionDate = null; + decimal? approvedAmount = null; + + var requested = Math.Round(faker.Random.Decimal(100_000, 10_000_000), 2); + + if (CreditDictionaries.IsTerminal(status)) + { + decisionDate = submissionDate.AddDays(faker.Random.Int(1, 30)); + + if (status == "Одобрена") + { + approvedAmount = Math.Round( + faker.Random.Decimal(10_000, requested), 2); + } + } + + var interestRate = Math.Round( + faker.Random.Double(centralBankRate, centralBankRate + 10), 2); + + return Task.FromResult(new CreditApplication + { + Id = id, + CreditType = faker.PickRandom(CreditDictionaries.CreditTypes), + RequestedAmount = requested, + TermMonths = faker.Random.Int(6, 360), + InterestRate = interestRate, + SubmissionDate = submissionDate, + HasInsurance = faker.Random.Bool(), + Status = status, + DecisionDate = decisionDate, + ApprovedAmount = approvedAmount + }); + } +} diff --git a/CreditApp/CreditApp.AppHost/AppHost.cs b/CreditApp/CreditApp.AppHost/AppHost.cs new file mode 100644 index 0000000..224b545 --- /dev/null +++ b/CreditApp/CreditApp.AppHost/AppHost.cs @@ -0,0 +1,15 @@ +var builder = DistributedApplication.CreateBuilder(args); + +var redis = builder.AddRedis("credit-cache") + .WithRedisInsight(containerName: "credit-redis-insight"); + +var api = builder.AddProject("credit-api") + .WithReference(redis) + .WaitFor(redis); + +builder.AddProject("client") + .WithReference(api) + .WaitFor(api); + +builder.Build().Run(); + diff --git a/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj new file mode 100644 index 0000000..b6d2633 --- /dev/null +++ b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj @@ -0,0 +1,23 @@ + + + + + + Exe + net8.0 + enable + enable + 70c1c02b-8ca4-435d-8e0e-594485960c89 + + + + + + + + + + + + + diff --git a/CreditApp/CreditApp.AppHost/Properties/launchSettings.json b/CreditApp/CreditApp.AppHost/Properties/launchSettings.json new file mode 100644 index 0000000..171fa4f --- /dev/null +++ b/CreditApp/CreditApp.AppHost/Properties/launchSettings.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:17005;http://localhost:15107", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21196", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22132" + } + }, + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:15107", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19106", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20243" + } + } + } +} diff --git a/CreditApp/CreditApp.AppHost/appsettings.Development.json b/CreditApp/CreditApp.AppHost/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/CreditApp/CreditApp.AppHost/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CreditApp/CreditApp.AppHost/appsettings.json b/CreditApp/CreditApp.AppHost/appsettings.json new file mode 100644 index 0000000..31c092a --- /dev/null +++ b/CreditApp/CreditApp.AppHost/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning", + "Aspire.Hosting.Dcp": "Warning" + } + } +} diff --git a/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj b/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj new file mode 100644 index 0000000..1b6e209 --- /dev/null +++ b/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj @@ -0,0 +1,22 @@ + + + + net8.0 + enable + enable + true + + + + + + + + + + + + + + + diff --git a/CreditApp/CreditApp.ServiceDefaults/Extensions.cs b/CreditApp/CreditApp.ServiceDefaults/Extensions.cs new file mode 100644 index 0000000..c572403 --- /dev/null +++ b/CreditApp/CreditApp.ServiceDefaults/Extensions.cs @@ -0,0 +1,128 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Diagnostics.HealthChecks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Diagnostics.HealthChecks; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.ServiceDiscovery; +using OpenTelemetry; +using OpenTelemetry.Metrics; +using OpenTelemetry.Trace; + +namespace CreditApp.ServiceDefaults; + +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// This project should be referenced by each service project in your solution. +// To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults +public static class Extensions +{ + private const string HealthEndpointPath = "/health"; + private const string AlivenessEndpointPath = "/alive"; + + public static TBuilder AddServiceDefaults(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.ConfigureOpenTelemetry(); + + builder.AddDefaultHealthChecks(); + + builder.Services.AddServiceDiscovery(); + + builder.Services.ConfigureHttpClientDefaults(http => + { + // Turn on resilience by default + http.AddStandardResilienceHandler(); + + // Turn on service discovery by default + http.AddServiceDiscovery(); + }); + + // Uncomment the following to restrict the allowed schemes for service discovery. + // builder.Services.Configure(options => + // { + // options.AllowedSchemes = ["https"]; + // }); + + return builder; + } + + public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Logging.AddOpenTelemetry(logging => + { + logging.IncludeFormattedMessage = true; + logging.IncludeScopes = true; + }); + + builder.Services.AddOpenTelemetry() + .WithMetrics(metrics => + { + metrics.AddAspNetCoreInstrumentation() + .AddHttpClientInstrumentation() + .AddRuntimeInstrumentation(); + }) + .WithTracing(tracing => + { + tracing.AddSource(builder.Environment.ApplicationName) + .AddAspNetCoreInstrumentation(tracing => + // Exclude health check requests from tracing + tracing.Filter = context => + !context.Request.Path.StartsWithSegments(HealthEndpointPath) + && !context.Request.Path.StartsWithSegments(AlivenessEndpointPath) + ) + // Uncomment the following line to enable gRPC instrumentation (requires the OpenTelemetry.Instrumentation.GrpcNetClient package) + //.AddGrpcClientInstrumentation() + .AddHttpClientInstrumentation(); + }); + + builder.AddOpenTelemetryExporters(); + + return builder; + } + + private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]); + + if (useOtlpExporter) + { + builder.Services.AddOpenTelemetry().UseOtlpExporter(); + } + + // Uncomment the following lines to enable the Azure Monitor exporter (requires the Azure.Monitor.OpenTelemetry.AspNetCore package) + //if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"])) + //{ + // builder.Services.AddOpenTelemetry() + // .UseAzureMonitor(); + //} + + return builder; + } + + public static TBuilder AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Services.AddHealthChecks() + // Add a default liveness check to ensure app is responsive + .AddCheck("self", () => HealthCheckResult.Healthy(), ["live"]); + + return builder; + } + + public static WebApplication MapDefaultEndpoints(this WebApplication app) + { + // Adding health checks endpoints to applications in non-development environments has security implications. + // See https://aka.ms/dotnet/aspire/healthchecks for details before enabling these endpoints in non-development environments. + if (app.Environment.IsDevelopment()) + { + // All health checks must pass for app to be considered ready to accept traffic after starting + app.MapHealthChecks(HealthEndpointPath); + + // Only health checks tagged with the "live" tag must pass for app to be considered alive + app.MapHealthChecks(AlivenessEndpointPath, new HealthCheckOptions + { + Predicate = r => r.Tags.Contains("live") + }); + } + + return app; + } +} diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000..a3895d3 --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,6 @@ + + + + 9.5.2 + + \ No newline at end of file diff --git a/README.md b/README.md index dcaa5eb..449939e 100644 --- a/README.md +++ b/README.md @@ -1,128 +1,44 @@ -# Современные технологии разработки программного обеспечения -[Таблица с успеваемостью](https://docs.google.com/spreadsheets/d/1an43o-iqlq4V_kDtkr_y7DC221hY9qdhGPrpII27sH8/edit?usp=sharing) +# Лабораторная работа №1 -## Задание -### Цель -Реализация проекта микросервисного бекенда. +## «Кэширование» --- Реализация сервиса генерации контрактов -### Задачи -* Реализация межсервисной коммуникации, -* Изучение работы с брокерами сообщений, -* Изучение архитектурных паттернов, -* Изучение работы со средствами оркестрации на примере .NET Aspire, -* Повторение основ работы с системами контроля версий, -* Интеграционное тестирование. +## Что было сделано -### Лабораторные работы -
-1. «Кэширование» - Реализация сервиса генерации контрактов, кэширование его ответов -
- -В рамках первой лабораторной работы необходимо: -* Реализовать сервис генерации контрактов на основе Bogus, -* Реализовать кеширование при помощи IDistributedCache и Redis, -* Реализовать структурное логирование сервиса генерации, -* Настроить оркестрацию Aspire. - -
-
-2. «Балансировка нагрузки» - Реализация апи гейтвея, настройка его работы -
- -В рамках второй лабораторной работы необходимо: -* Настроить оркестрацию на запуск нескольких реплик сервиса генерации, -* Реализовать апи гейтвей на основе Ocelot, -* Имплементировать алгоритм балансировки нагрузки согласно варианту. +В рамках первой лабораторной работы реализован микросервис генерации +контрактов с использованием кэширования и оркестрации. -
-
-
-3. «Интеграционное тестирование» - Реализация файлового сервиса и объектного хранилища, интеграционное тестирование бекенда -
+### 1. Реализован сервис генерации контрактов -В рамках третьей лабораторной работы необходимо: -* Добавить в оркестрацию объектное хранилище, -* Реализовать файловый сервис, сериализующий сгенерированные данные в файлы и сохраняющий их в объектном хранилище, -* Реализовать отправку генерируемых данных в файловый сервис посредством брокера, -* Реализовать интеграционные тесты, проверяющие корректность работы всех сервисов бекенда вместе. +- Создан ASP.NET Core Web API сервис. +- Реализована генерация контрактов с использованием библиотеки Bogus. +- Контракт содержит основные поля: Id, номер, имя клиента, дата, + сумма, статус. +- Добавлен endpoint для получения контракта по идентификатору. -
-
-
-4. (Опционально) «Переход на облачную инфраструктуру» - Перенос бекенда в Yandex Cloud -
- -В рамках четвертой лабораторной работы необходимо перенестиервисы на облако все ранее разработанные сервисы: -* Клиент - в хостинг через отдельный бакет Object Storage, -* Сервис генерации - в Cloud Function, -* Апи гейтвей - в Serverless Integration как API Gateway, -* Брокер сообщений - в Message Queue, -* Файловый сервис - в Cloud Function, -* Объектное хранилище - в отдельный бакет Object Storage, +### 2. Реализовано кэширование через Redis -
-
+- Подключён Redis. +- Настроен IDistributedCache. +- Реализована логика: + - При первом запросе контракт генерируется и сохраняется в Redis. + - При повторном запросе данные возвращаются из кэша. +- Настроено время жизни кэша (TTL). -## Задание. Общая часть -**Обязательно**: -* Реализация серверной части на [.NET 8](https://learn.microsoft.com/ru-ru/dotnet/core/whats-new/dotnet-8/overview). -* Оркестрация проектов при помощи [.NET Aspire](https://learn.microsoft.com/ru-ru/dotnet/aspire/get-started/aspire-overview). -* Реализация сервиса генерации данных при помощи [Bogus](https://github.com/bchavez/Bogus). -* Реализация тестов с использованием [xUnit](https://xunit.net/?tabs=cs). -* Создание минимальной документации к проекту: страница на GitHub с информацией о задании, скриншоты приложения и прочая информация. +### 4. Настроена оркестрация через .NET Aspire -**Факультативно**: -* Перенос бекенда на облачную инфраструктуру Yandex Cloud +- Создан проект AppHost. +- Подключён сервис генерации контрактов. +- Добавлен Redis как зависимость. +- Настроены связи между сервисами. +- Запуск всей инфраструктуры осуществляется через Aspire. -Внимательно прочитайте [дискуссии](https://github.com/itsecd/cloud-development/discussions/1) о том, как работает автоматическое распределение на ревью. -Сразу корректно называйте свои pr, чтобы они попали на ревью нужному преподавателю. +## Используемые технологии -По итогу работы в семестре должна получиться следующая информационная система: -
-C4 диаграмма -Современные_технологии_разработки_ПО_drawio -
- -## Варианты заданий -Номер варианта задания присваивается в начале семестра. Изменить его нельзя. Каждый вариант имеет уникальную комбинацию из предметной области, базы данных и технологии для общения сервиса генерации данных и сервера апи. - -[Список вариантов](https://docs.google.com/document/d/1WGmLYwffTTaAj4TgFCk5bUyW3XKbFMiBm-DHZrfFWr4/edit?usp=sharing) -[Список предметных областей и алгоритмов балансировки](https://docs.google.com/document/d/1PLn2lKe4swIdJDZhwBYzxqFSu0AbY2MFY1SUPkIKOM4/edit?usp=sharing) - -## Схема сдачи - -На каждую из лабораторных работ необходимо сделать отдельный [Pull Request (PR)](https://docs.github.com/en/pull-requests). - -Общая схема: -1. Сделать форк данного репозитория -2. Выполнить задание -3. Сделать PR в данный репозиторий -4. Исправить замечания после code review -5. Получить approve - -## Критерии оценивания - -Конкурентный принцип. -Так как задания в первой лабораторной будут повторяться между студентами, то выделяются следующие показатели для оценки: -1. Скорость разработки -2. Качество разработки -3. Полнота выполнения задания - -Быстрее делаете PR - у вас преимущество. -Быстрее получаете Approve - у вас преимущество. -Выполните нечто немного выходящее за рамки проекта - у вас преимущество. -Не укладываетесь в дедлайн - получаете минимально возможный балл. - -### Шкала оценивания - -- **3 балла** за качество кода, из них: - - 2 балла - базовая оценка - - 1 балл (но не более) можно получить за выполнение любого из следующих пунктов: - - Реализация факультативного функционала - - Выполнение работы раньше других: первые 5 человек из каждой группы, которые сделали PR и получили approve, получают дополнительный балл - -## Вопросы и обратная связь по курсу - -Чтобы задать вопрос по лабораторной, воспользуйтесь [соответствующим разделом дискуссий](https://github.com/itsecd/cloud-development/discussions/categories/questions) или заведите [ишью](https://github.com/itsecd/cloud-development/issues/new). -Если у вас появились идеи/пожелания/прочие полезные мысли по преподаваемой дисциплине, их можно оставить [здесь](https://github.com/itsecd/cloud-development/discussions/categories/ideas). +- .NET 8 +- ASP.NET Core Web API +- Bogus +- Redis +- IDistributedCache +- .NET Aspire +- Docker From 761c6e5ded3d8cbd9b9c6c53dc12f4c36489f70d Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Wed, 18 Feb 2026 16:14:07 +0400 Subject: [PATCH 2/2] update readme --- README.md | 9 +++++++++ images/1.png | Bin 0 -> 74790 bytes images/2.png | Bin 0 -> 52208 bytes 3 files changed, 9 insertions(+) create mode 100644 images/1.png create mode 100644 images/2.png diff --git a/README.md b/README.md index 449939e..38f247f 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,12 @@ - .NET Aspire - Docker +## Скриншоты + +### Aspire Dashboard + +![Aspire Dashboard](images/1.png) + +### Web + +![Web](images/2.png) \ No newline at end of file diff --git a/images/1.png b/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c85ec786b0596be476f4769e5191cd750ac5cac GIT binary patch literal 74790 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 u{~{6f|2xj-e-bdbJ}-~{_Y<*{Ka+wAho0