- Removed the `BotUsername` property from `TelegramOptions` and updated the `.env.example` to reflect this change, as the bot's username is now dynamically retrieved via the Bot API. - Introduced `ITelegramBotInfo` to cache the bot's username, improving the handling of deep links in `TelegramEndpoints`. - Updated API documentation to clarify that the deep link is now dependent on the bot's token and its availability through the Bot API, enhancing clarity for developers.
PnvPanel — Документация
MVP реализован (backend M0–M8 + полный frontend). Документация ниже описывает систему как она реально построена, со сверенными по коду деталями — не первоначальный план. Расхождения с ранним замыслом отмечены явно там, где это важно (например, домен изначально закладывал доменные события — в реализации от них отказались в пользу прямых вызовов из CQRS-хендлеров, см. architecture.md).
Индекс. Читать в этом порядке для погружения:
- Product Vision & Scope — продукт, роли, пользовательские сценарии, границы MVP.
- Architecture — Clean Architecture, слои, CQRS, интеграция с 3x-ui, realtime, безопасность, фоновые задачи.
- Domain Model — сущности, value objects, связи, инварианты, уведомления/аудит.
- Tech Stack (ADR) — принятые решения по технологиям и их обоснование.
- Backend Conventions — структура решения, паттерны, соглашения по коду.
- Frontend — стек, структура, работа с API и realtime.
- Telegram Bot — бот: ссылка на сайт, просмотр конфигов, passwordless-вход через привязку Telegram.
- API Design — контракты REST и SignalR.
- Roadmap — ретроспектива по этапам (milestones) + backlog.
Принятые решения
Ключевые развилки закрыты (полная таблица — в tech-stack.md):
- CQRS — собственный тонкий диспетчер (не MediatR).
- Роли — ровно одна роль на пользователя; квота =
MaxConfigsроли. - Секреты нод — ASP.NET Core Data Protection (шифрование at-rest).
- Тарифы
Plan— backlog (в MVP конфиги без лимитов трафика/срока). - i18n — RU + EN с первого дня (react-i18next).
- Telegram — long polling; только привязка аккаунта (signup из бота — backlog).
- История трафика — простая таблица + TTL-чистка.
- Логирование — Serilog.
Остаточные мелочи (не блокируют старт): значение TTL истории трафика, прод-синки Serilog, TTL токенов Telegram.