- Новый порядок этапов (D-026): фаза 1 — концепт на dev без внешних сервисов (1b сайт, 1c вход, 1d ключи, 1e счёт и демо-оплата, 1f демо-выдача, 1g продления, 1h рефералы); фаза 2 — Telegram; фаза 3 — ALTCHA, ЮKassa, почта, Twenty, Chatwoot, Umami, выдача через API и публичный запуск; фаза 4 — звёзды и эквайринги. - Решения: демо-оплата по списку IP (D-027), выдача ключей через адаптер manual/demo/api (D-028), страницы сайта из блоков Payload (D-029), пересборка через revalidatePath (D-030), RU-адрес у mass (D-031), счётчик свободных серверов (D-032), переводы на 5 языков в каждом этапе (D-033). - Тексты описывают работающий продукт; Вейликс — выделенный IP на общем сервере; Telegram поддержки — @veilix_support; сроки ответа не обещаем; VPN-серверы не ведут журналов. - Ссылки на этапы во всех документах, Q-12 решён (ЮKassa для RUB), R-19 (библиотеки для headless Chromium) сделано. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
110 lines
11 KiB
Markdown
110 lines
11 KiB
Markdown
# 00. Карта документации
|
||
|
||
## 1. Документы
|
||
|
||
| Файл | О чём |
|
||
|---|---|
|
||
| [01-product.md](01-product.md) | Бренды, домены, продукты, тарифы, бизнес-правила |
|
||
| [02-architecture.md](02-architecture.md) | Стек, одно приложение на все домены, процессы, окружения, выкладка |
|
||
| [03-data-model.md](03-data-model.md) | Коллекции Payload, поля, связи, статусы |
|
||
| [04-billing.md](04-billing.md) | Счёт, заказы, платежи, продления, возвраты, ручные операции, рефералы |
|
||
| [05-auth.md](05-auth.md) | Вход по коду, сессии, капча, Telegram, объединение аккаунтов, админка |
|
||
| [06-i18n.md](06-i18n.md) | Языки, URL, определение языка, валютный переключатель, переводы |
|
||
| [07-frontend.md](07-frontend.md) | Макеты, маршруты, токены, темы, производительность |
|
||
| [08-integrations.md](08-integrations.md) | Почта, ALTCHA, MaxMind, Chatwoot, Twenty, Telegram, платёжные системы, Umami |
|
||
| [09-infrastructure.md](09-infrastructure.md) | Сервер, nginx, systemd, PostgreSQL, DNS, бэкапы, задачи для root |
|
||
| [10-security.md](10-security.md) | Безопасность и приватность |
|
||
| [decisions/](decisions/) | Принятые решения: по файлу на решение |
|
||
| [stages/](stages/) | Этапы: цель, границы, предусловия, шаги, критерии готовности |
|
||
|
||
Исходная постановка — [history/HUMAN_IDEA.md](history/HUMAN_IDEA.md) (копия файла пользователя). Это история, а не источник истины: всё актуальное — в этих документах.
|
||
|
||
## 2. Этапы
|
||
|
||
Фаза — цифра, этап — буква ([D-026](decisions/D-026-stage-order.md)). Каждый этап делается сразу на 5 языках; тексты описывают работающий продукт.
|
||
|
||
| Этап | Содержание | Статус |
|
||
|---|---|---|
|
||
| [0](stages/stage-0-docs.md) | Документация | готово |
|
||
|
||
### 2.1 Фаза 1. Концепт без внешних сервисов, на dev
|
||
|
||
| Этап | Содержание | Статус |
|
||
|---|---|---|
|
||
| [1a](stages/stage-1a-foundation.md) | Фундамент: Next + Payload, сайты, домены, языки, валюты, темы | готово |
|
||
| [1b](stages/stage-1b-marketing.md) | Сайт: страницы обоих брендов из блоков Payload, FAQ, юридические черновики, SEO; формы — только интерфейс | в работе |
|
||
| [1c](stages/stage-1c-auth.md) | Вход по коду, сессии; письма — в журнал | не начат |
|
||
| [1d](stages/stage-1d-keys.md) | Ключи и подключения: ручное создание в админке, ключи в кабинете | не начат |
|
||
| [1e](stages/stage-1e-billing.md) | Счёт и оплата: заказы, баланс, демо-оплата, оформление заказа | не начат |
|
||
| [1f](stages/stage-1f-provisioning.md) | Выдача ключей «Демо» — эмулятор API выдачи | не начат |
|
||
| [1g](stages/stage-1g-renewals.md) | Продления: автопродление, льготный период, напоминания | не начат |
|
||
| [1h](stages/stage-1h-referral.md) | Реферальная программа | не начат |
|
||
|
||
### 2.2 Фаза 2. Telegram
|
||
|
||
| Этап | Содержание | Статус |
|
||
|---|---|---|
|
||
| [2a](stages/stage-2a-miniapp.md) | MiniApp | не начат |
|
||
| [2b](stages/stage-2b-bot.md) | Основной бот | не начат |
|
||
| [2c](stages/stage-2c-linking.md) | Связь аккаунтов Telegram и сайта | не начат |
|
||
|
||
### 2.3 Фаза 3. Реальные сервисы и запуск
|
||
|
||
| Этап | Содержание | Статус |
|
||
|---|---|---|
|
||
| [3a](stages/stage-3a-altcha.md) | ALTCHA | не начат |
|
||
| [3b](stages/stage-3b-yookassa.md) | ЮKassa: пополнение в RUB | не начат |
|
||
| [3c](stages/stage-3c-email.md) | Отправка почты: Postfix, DKIM | не начат |
|
||
| [3d](stages/stage-3d-crm.md) | Twenty CRM: заявки с форм | не начат |
|
||
| [3e](stages/stage-3e-chatwoot.md) | Chatwoot: виджет, боты поддержки, почта | не начат |
|
||
| [3f](stages/stage-3f-analytics.md) | Umami и баннер cookies | не начат |
|
||
| [3g](stages/stage-3g-keys-api.md) | Выдача ключей через API | обсуждение при старте |
|
||
| [3h](stages/stage-3h-launch.md) | Публичный запуск в prod | не начат |
|
||
|
||
### 2.4 Фаза 4. Позже
|
||
|
||
| Этап | Содержание | Статус |
|
||
|---|---|---|
|
||
| [4a](stages/stage-4a-stars.md) | Звёзды Telegram | обсуждение при старте |
|
||
| [4b](stages/stage-4b-acquiring.md) | Западные эквайринги и криптовалюта | обсуждение при старте |
|
||
|
||
## 3. Как запускать этап в новой сессии
|
||
|
||
1. Открыть сессию Claude под пользователем vx_dev в `/home/vx_dev/veilix_dev`.
|
||
2. Написать: «Этап 1a. Прочитай CLAUDE.md и docs/stages/stage-1a-foundation.md, сверим план».
|
||
3. Claude сверяет план и открытые вопросы этапа, вы подтверждаете, дальше — работа.
|
||
4. В конце Claude обновляет статус этапа в этой таблице и документацию.
|
||
|
||
## 4. Открытые вопросы
|
||
|
||
### 4.1 Решённые
|
||
|
||
| № | Вопрос | Решение | Где отражено |
|
||
|---|---|---|---|
|
||
| Q-01 | Вторая валюта | USD | [D-010](decisions/D-010-currencies.md) |
|
||
| Q-02 | Цены mass в USD, суммы пополнения и реферального бонуса | Mass: «Месяц» $6.99, «Год» $69.90. Пополнение: dedicated — 2 500, 5 000, 10 000 ₽ и $25, $50, $100; mass — 700, 2 100, 6 990 ₽ и $7, $21, $70. Реферальный бонус — не деньги, а 30 дней к ключу обоим | [01-product.md](01-product.md), разделы 6 и 10; [04-billing.md](04-billing.md), разделы 4 и 11; [D-025](decisions/D-025-referral-days.md) |
|
||
| Q-03 | Валюта по умолчанию для нового посетителя | По языку: ru → RUB, остальные → USD; настраивается у домена | [06-i18n.md](06-i18n.md), раздел 6 |
|
||
| Q-04 | Валюта аккаунта | Задаётся при регистрации из выбранной; меняется, пока баланс нулевой и нет ключей; дальше — через поддержку | [04-billing.md](04-billing.md), раздел 2 |
|
||
| Q-05 | WG-конфиги mass на этапе 1 | Конфиги, добавленные администратором, по странам; другая страна — через поддержку. Позже — адаптер выдачи: демо-эмулятор (этап 1f), API (3g) | [D-020](decisions/D-020-key-models.md) |
|
||
| Q-06 | Где Umami | На этом сервере, без Docker, под пользователем `umami`; панель — `umi.veilix.cc` | [D-018](decisions/D-018-analytics.md) |
|
||
| Q-07 | Как запускать сервисы | Каждый под своим пользователем ОС: vx_dev (dev), vx_prod (prod), umami; systemd user-юниты | [D-004](decisions/D-004-environments.md) |
|
||
| Q-08 | Email поддержки брендов | `help@veilix.app` и `help@veilixvpn.com` | [01-product.md](01-product.md), раздел 11 |
|
||
| Q-09 | Часовой пояс часов поддержки | Московское время | [01-product.md](01-product.md), раздел 11 |
|
||
| Q-12 | RUB-процессинг и криптопроцессинг: какие провайдеры | RUB — ЮKassa, только пополнения (этап 3b). Криптовалюта — этап 4b, провайдера выбираем на нём | [D-016](decisions/D-016-payments.md); [08-integrations.md](08-integrations.md), раздел 7 |
|
||
| Q-15 | Защита prod от сессий Claude | Отдельно не нужна: сессии Claude работают под vx_dev без доступа к prod, а под vx_prod нет ни редактора, ни ИИ-агентов | [D-004](decisions/D-004-environments.md) |
|
||
| Q-16 | Где принимать почту поддержки | Ящики на внешнем почтовом хостинге, их настраивает пользователь (R-18). На этапе 3e письма из них забирает Chatwoot; до этого на сайте только адрес | [09-infrastructure.md](09-infrastructure.md), раздел 6; [08-integrations.md](08-integrations.md), раздел 4 |
|
||
| Q-19 | Реферальный бонус днями: крайние случаи | Приглашённому тоже 30 дней; ключ готовится — дни добавятся при выдаче; «последний ключ» — купленный последним из неистёкших и неотменённых; такого нет — дни ждут следующего ключа; возврат заказа приглашённого бонус не отменяет | [D-025](decisions/D-025-referral-days.md); [04-billing.md](04-billing.md), раздел 11 |
|
||
|
||
### 4.2 Открытые
|
||
|
||
Предложение по умолчанию действует, пока не решено иначе.
|
||
|
||
| № | Вопрос | Предложение | Нужно к этапу |
|
||
|---|---|---|---|
|
||
| Q-10 | Имена Telegram-ботов: 2 основных, 2 поддержки, тестовые | — | 2a, 3e |
|
||
| Q-11 | Оплата в Telegram: Stars, внешняя страница или только с баланса | До этапа 4a — демо-оплата и баланс | 2a, 4a |
|
||
| Q-13 | Юрлицо для юридических текстов | Пока заглушки | 3b, 3h |
|
||
| Q-14 | Куда складывать бэкапы prod-базы | — | 3h |
|
||
| Q-17 | Нужны ли разные аккаунты одного провайдера для разных брендов | Пока нет. Если понадобятся — платёжной системе добавим поле «только для сайтов» | 3b, 4b |
|
||
| Q-18 | Кто запускает выкладку в prod | Пользователь одной командой; по желанию — sudo-правило, разрешающее vx_dev запускать только команду выкладки от имени vx_prod | 3h |
|