Files
veilix.app/docs/decisions/D-001-single-app.md
T
2026-10-21 03:30:38 +02:00

1.5 KiB

D-001. Одно Next.js-приложение на все домены

Статус: принято, 20.10.2026.

Контекст

Два бренда, у каждого сайт, кабинет и MiniApp — 6 доменов плюс админка. Бизнес-логика общая, дизайны разные.

Решение

  1. Одно Next.js-приложение, Payload установлен в него как библиотека.
  2. Proxy Next.js определяет по Host сайт и тип фронтенда и переписывает запрос во внутренний маршрут.
  3. Ядро (биллинг, ключи, вход, рефералы, почта) и UI-кит общие, страницы у каждого бренда свои.

Рассмотренные варианты

  1. Отдельные приложения на каждый фронтенд и отдельный Payload как API — больше деплоев, логика дублируется или ходит по HTTP.
  2. Один набор страниц с переключением цветов — не подходит: данные в дизайнах представлены по-разному.

Последствия

  1. Один процесс на окружение, один деплой.
  2. Кабинет и сайт читают данные через Local API Payload, без HTTP.
  3. Нужна дисциплина: бренд-зависимый код — только в src/brands/.