# PnvPanel **PnvPanel** — self-service портал для VPN-конфигураций. Пользователи самостоятельно создают и управляют своими VPN-конфигами (VLESS / VMess / Trojan / Shadowsocks), а администраторы управляют серверами, лимитами и пользователями. Есть **Telegram-бот** (ссылка на сайт, просмотр конфигов, passwordless-вход через привязку Telegram). Под капотом — интеграция с панелями [3x-ui](https://github.com/MHSanaei/3x-ui) через библиотеку [ThreeXui.Net](https://github.com/mrleo1nid/ThreeXui.Net). Приложение (фронт + бек + бот) поставляется **единым Docker-образом**; PostgreSQL — отдельным контейнером в compose. ## Стек | Слой | Технологии | | ----------- | -------------------------------------------------------------------------------- | | Backend | C# / .NET 10, ASP.NET Core Web API, Clean Architecture, CQRS (свой диспетчер), EF Core | | БД | PostgreSQL (Npgsql) | | Auth | ASP.NET Core Identity + JWT (access + refresh) | | Realtime | SignalR | | Интеграция | ThreeXui.Net (3x-ui REST API) | | Telegram | Telegram.Bot (in-process hosted service, long polling) | | Frontend | React 19 + Vite + TypeScript, TanStack Query/Router, shadcn/ui + Tailwind | | Упаковка | Единый Docker-образ (API + бот + статика SPA) + PostgreSQL в docker-compose | ## Документация Проектная документация лежит в [`docs/`](docs/README.md): - [Product Vision & Scope](docs/vision.md) — что мы строим и для кого - [Architecture](docs/architecture.md) — Clean Architecture, CQRS, интеграция, realtime, безопасность - [Domain Model](docs/domain-model.md) — сущности, связи, инварианты - [Tech Stack (ADR)](docs/tech-stack.md) — решения по стеку и их обоснование - [Backend Conventions](docs/backend-conventions.md) — структура проекта, паттерны, стиль кода - [Frontend](docs/frontend.md) — стек фронтенда и структура - [Telegram Bot](docs/telegram-bot.md) — бот, привязка Telegram и passwordless-вход - [API Design](docs/api-design.md) — REST-эндпоинты и SignalR-контракты - [Roadmap](docs/roadmap.md) — этапы разработки Пример переменных окружения (сид админа, БД, JWT, Telegram) — [`.env.example`](.env.example). Инструкции для AI-ассистента (Claude Code) — в [`CLAUDE.md`](CLAUDE.md). ## Статус 🚧 Проектирование. Кодовая база ещё не создана — на этом этапе зафиксированы архитектура и план. ## Лицензия [MIT](LICENSE)