MVP 1 Core - PlutoGr/TravelAgency GitHub Wiki

MVP-1 Core — Архитектура

Цель этапа

Запустить рабочий продукт с ключевой ценностью:

  • Пользователь может найти тур, создать заявку.
  • Менеджер может взять заявку в работу и довести до подтверждения.

Состав сервисов

Сервис Назначение
api-gateway Единая точка входа, маршрутизация, auth, rate limit
identity-service Регистрация, логин, профиль, роли
catalog-service Каталог туров, фильтры, карточка тура, цены
booking-service Заявки, избранное, статусы, предложения
chat-service Опционально: чат в рамках заявки (fallback: комментарии в Booking)
media-service Опционально: загрузка и выдача медиа (S3/MinIO)

Межсервисное взаимодействие

  • Синхронно: gRPC (внутренние вызовы, например Booking → Catalog, Booking → Identity).
  • Асинхронно: Outbox + фоновый publisher (без обязательного брокера сообщений в V1).

Инфраструктура

  • Оркестрация: Docker Compose.
  • БД: PostgreSQL (разные логические БД по сервисам, на старте допустим один инстанс).
  • Дополнительно: Redis (по необходимости для chat backplane или кэша), MinIO (если включён media-service).

Что не входит в MVP-1

  • Kafka / RabbitMQ как обязательная зависимость
  • ClickHouse
  • Kubernetes
  • Сложная аналитика и BI-отчётность

Спецификация этапа

Документ Описание
MVP-1 Scope Функционал и границы этапа
MVP-1 API-контракты Внешний REST и внутренний gRPC
MVP-1 Домен и данные Агрегаты, статусы, хранение
MVP-1 Безопасность и надёжность JWT, RBAC, retry, outbox
MVP-1 Операции Runtime, миграции, observability
MVP-1 Приёмка Сценарии и критерии готовности

Вернуться: Дорожная карта MVP · Главная