Files
PnvPanel/docs
Leonid Pershin 0d05ff52e9
CI / Backend (build + test) (push) Successful in 1m15s
CI / Frontend (lint + typecheck + build) (push) Successful in 29s
Refactor Telegram bot configuration and deep link handling
- 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.
2026-07-02 15:44:40 +03:00
..

PnvPanel — Документация

MVP реализован (backend M0M8 + полный frontend). Документация ниже описывает систему как она реально построена, со сверенными по коду деталями — не первоначальный план. Расхождения с ранним замыслом отмечены явно там, где это важно (например, домен изначально закладывал доменные события — в реализации от них отказались в пользу прямых вызовов из CQRS-хендлеров, см. architecture.md).

Индекс. Читать в этом порядке для погружения:

  1. Product Vision & Scope — продукт, роли, пользовательские сценарии, границы MVP.
  2. Architecture — Clean Architecture, слои, CQRS, интеграция с 3x-ui, realtime, безопасность, фоновые задачи.
  3. Domain Model — сущности, value objects, связи, инварианты, уведомления/аудит.
  4. Tech Stack (ADR) — принятые решения по технологиям и их обоснование.
  5. Backend Conventions — структура решения, паттерны, соглашения по коду.
  6. Frontend — стек, структура, работа с API и realtime.
  7. Telegram Bot — бот: ссылка на сайт, просмотр конфигов, passwordless-вход через привязку Telegram.
  8. API Design — контракты REST и SignalR.
  9. 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.