Byndyusoft / byndyusoft-templates-api

Common API template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Список замечаний и доработок шаблона

AntonyNET opened this issue · comments

byndyusoft-templates-api

Почему репа называется templates, а не template?
Почему два ридми? Они никак не связаны.

Domain
нет примера сбора метрик, трассировки, активити
нет сервисов IGuidService, IDateTimeService ... (Sod.Shared)
неполная структура папок Entities, Dtos, Mappers......

DataAccess
Byndyusoft.Data.Relational.Abstractions

Migrator
имя миграции не соответсвует конвенциям, включить номер миграции и детали.
В аттрибуте миграции тоже указать description
не хватает расширения для двухфазной миграции.

Api.Client
Удалить Tracer, заменить на активити и листнеры событий.
Добавить Polly
Добавить хелсчек
Не предложена структура папок, как хранить клиенты разных версий.
Из клиентов не понятно, какой клиент для какой версии.
Удалить зависимость от BaseClient, слишком ограничивает

Api
Контроллеры версионированны, но не предложена структура папок, как хранить версии.
переделать хелсчеки, live ready details . Добавить чек на базу, очередь и тд. Таймауты на хелсчеки
Добавить рамширенные ApiConventions, которые будут соответствовать нашим.
Удалить все атрибуты ProducesResponseType и Produces
Куда пропал UseDeveloperExceptionPage?
Не использовать ActionResult
Подключить Scrutor
Не хватает HosttedServic, не понимаю зачем разделено на апи и воркеры, хотя по сути это одно и то же

UnitTests
переименовать в Domain.Tests
не хватает ссылок на расширения Moq для FluentAssertions (Sod.Tests.Shared)
не хватает шаблоном xfact xtheory по конвенциям

IntegrationTests
переименовать в Api.IntegrationTests
не хватает ServiceFixtureBase, ITestOutputLogger, QueueServiceStub (Sod.Tests.Shared.IntegrationTests)
не хватает примера теории и применения концепции
неполная структура папок

byndyusoft-dotnet-test-infrastructure
название репы не соответсвтует названию солюшенов

В идеале внедрить AsyncApi

По всем пунктам готов к обсуждению и расшифровке.

На удаление Tracer в Api.Client уже есть задача #51