25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# 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/`.
|