Files
veilix.app/docs/00-index.md
T
andreypr207andClaude Opus 5.5 515acfb69d Документация: этапы по фазам, решения D-026…D-033
- Новый порядок этапов (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>
2026-10-22 03:48:10 +02:00

110 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |