Skip to content

aimsora/shared-contracts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shared-contracts

CI Versioning API

Репозиторий единых контрактов для всех сервисов платформы.

Что делает этот репозиторий

  • хранит GraphQL-схему для API-контракта;
  • хранит JSON Schema для событий очередей;
  • задает единый формат обмена между сервисами.

Черновая реализация

  • graphql/schema.graphql;
  • events/source-raw.v1.json;
  • events/source-normalized.v1.json;
  • queue-messages/ с реалистичными сообщениями для очередей;
  • скрипт npm run validate для базовой проверки контрактов;
  • CI workflow для автоматической проверки.

Реальные сообщения для очередей

  • queue-messages/source.raw.v1.json - пример сырого сообщения от scraper-service в очередь source.raw.v1;
  • queue-messages/source.normalized.v1.json - пример нормализованного сообщения от processing-worker в очередь source.normalized.v1.

Эти файлы можно использовать как фикстуры для интеграционных тестов и отладки пайплайна.

Локальный запуск проверки

npm install
npm run validate

Связи с другими репозиториями

  • backend-api реализует GraphQL-контракт;
  • scraper-service и processing-worker используют event-схемы;
  • frontend-app ориентируется на схему API.

About

Общие контракты GraphQL и JSON Schema для сервисов платформы AIMSORA

Topics

Resources

Stars

Watchers

Forks

Contributors