- Removed deprecated Telegram user ID configuration from `.env.example` and added a new setting for admin Telegram user IDs. - Updated `CLAUDE.md` to reflect the current MVP status, detailing completed features and testing coverage. - Enhanced `README.md` with quick start instructions for Docker setup and clarified project status. - Revised API design documentation to include updated error handling and request/response structures. - Improved frontend documentation to outline the project structure and technologies used.
3.1 KiB
3.1 KiB
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.