2026-06-04 18:09:06 +03:00
2026-06-01 18:02:48 +03:00
2026-06-01 18:02:48 +03:00
2026-05-29 23:19:11 +03:00
2026-06-04 18:09:06 +03:00

SMS Task One

Тестовое задание SMS (Middle C#): REST/gRPC API сервера и консольное приложение с PostgreSQL.

Требования

  • .NET 10 SDK
  • Docker (для PostgreSQL) или свой экземпляр Postgres 16+

Структура

Проект Назначение
Domain Доменные модели
Contracts DTO, JSON, gRPC proto
ApiServer ASP.NET Core: HTTP API + gRPC
ApiClient HTTP и gRPC клиенты
Console Консоль (часть 3 ТЗ): меню, заказ, БД

Сборка

dotnet build

База данных

Запуск Postgres в Docker (сброс данных):

./scripts/restart-db.sh

Параметры: localhost:5432, БД sms_task, пользователь/поль sms / sms.

Подключение через psql:

psql -h localhost -p 5432 -U sms -d sms_task

Пароль: sms. Вариант с URI:

psql "postgresql://sms:sms@localhost:5432/sms_task"

ApiServer

dotnet run --project src/ApiServer/ApiServer.csproj
Сервис URL
HTTP API http://localhost:5053
gRPC http://localhost:5054

Basic Auth (HTTP): user / password (см. src/ApiServer/appsettings.json).

Примеры запросов: src/ApiServer/ApiServer.http.

Console

Сначала запустите ApiServer и БД.

dotnet run --project src/Console/Console.csproj

При старте выбирается протокол: 1 — HTTP, 2 — gRPC. Настройки — в src/Console/appsettings.json. Лог пишется в файл test-sms-console-app-*.log в каталоге запуска; путь выводится в конце работы.

Формат ввода заказа: Артикул:Количество;Артикул:Количество (например A1004292:1).

Description
No description provided
Readme 95 KiB
Languages
C# 97.2%
Shell 2.8%