-
Создаём директорию
federationи инициализируем микросервисы и gateway с помощьюnpm init -y. -
Реализуем схемы для каждого субграфа:
Каждая схема описывает GraphQL API соответствующего микросервиса.
-
Настраиваем для каждого сервиса:
- подключение к базе данных через Prisma
- описание моделей и миграций
- утилиты для работы с бизнес-логикой
- сервисный слой (controllers/services)
-
Инициализируем и настраиваем PostgreSQL через Docker, подключаем Prisma и выполняем миграции для создания таблиц в базе данных.
-
Тестируем работу каждого субграфа отдельно (GraphQL запросы к users/items/orders сервисам) и проверяем корректность работы базы данных.
-
Реализуем GraphQL Gateway (Apollo Federation / Supergraph):
- объединяем все субграфы в единый graph
- настраиваем маршрутизацию запросов
- описываем context (включая авторизацию и передачу токена между сервисами)
-
Строим supergraph из существующих микросервисов и реализуем единый слой API, обеспечивающий взаимодействие между сервисами через gateway.
-
Создаём
Dockerfileдля каждого микросервиса и для gateway, обеспечивая изолированную сборку каждого сервиса. -
Настраиваем
docker-compose:- поднимаем все микросервисы
- поднимаем PostgreSQL
- настраиваем сетевое взаимодействие между сервисами
- пробрасываем необходимые порты
-
Деплоим; смотрим `http://localhost:4000/
Демонстрация лабораторной по ссылке
Запрос на просмотр зарегестрированных методов:

Операции с user:
Операции с item:
Операции с order:
Директория frontend содержит фронт React + Apollo Client:











