<Имя сервиса>

Этот README описывает <текущий сервис / целевую сервисную границу>. Читайте его, когда нужно понять ответственность сервиса, его контракты и соседние зависимости.

Назначение

<Одна фраза: что делает сервис.>

Статус документа

  • Тип знания: <current service | target service boundary>
  • Статус реализации: <выделенный код есть | есть только scaffold | отдельный код пока отсутствует>
  • Текущее место кода: <точные пути> или отдельный путь пока не создан
  • Что читать дальше: <добавьте 2-4 конкретные ссылки на схемы, ADR или соседние сервисы>

Область действия

Входит:

  • <пункт>
  • <пункт>

Не входит:

  • <граница>
  • <граница>

Публичный контракт

Вход

HTTP:

  • GET /v1/... — <описание>.
  • POST /v1/... — <описание>.

Потребляемые Kafka-топики:

  • <topic.name> — <что делает в ответ>.

Выход

Публикуемые Kafka-топики:

  • <topic.name> — <описание>.

Исходящие HTTP/RPC-вызовы:

  • Нет / <service> — <зачем>.

Внутренняя архитектура

Clean architecture по стандарту (см. ../20-architecture/module-layout.md). Если документ описывает target boundary, явно помечайте, какие части уже есть в коде, а какие ещё нет.

Зависимости

  • PostgreSQL — если есть state.
  • Kafka — если есть событийное взаимодействие.
  • <прочее>

Хранилище

Таблицы, индексы или хранилища, которые сервис читает / пишет:

  • <table or storage> — read/write.

Конфигурация

Env varDefaultОписание
<SERVICE>_...<описание>

Локальный запуск

  • Если сервис уже выделен в отдельный runtime, приведите точные команды.
  • Если сервис пока не выделен, напишите это явно и укажите, какой scaffold существует сейчас.

Тестирование

  • Unit: go test ./... с mockery-сгенерированными моками для внутренних портов.
  • Integration/service: сценарии на реальных адаптерах или testcontainers, если это отражает production-поведение.
  • Provider contract tests: для внешних API — моковый сервер на fixture-ответах из testdata/contracts/<provider>/.
  • Запрещено: hand-written mocks/stubs/fakes для нового production-кода без ADR.

Наблюдаемость

  • Метрики: endpoint /metrics, префикс <service>_.
  • Трейсинг: OTel, exporter — OTLP gRPC.
  • Логи: структурированный JSON, stdout.

Ключевые метрики:

  • <service>_requests_total
  • <service>_errors_total
  • <service>_processing_duration_seconds

Открытые вопросы / TODO

  • <пункт>

Связанные документы

  • Бизнес-контекст: <конкретная ссылка>
  • Схемы: <конкретная ссылка>
  • Связанные сервисы: <конкретные ссылки>