3.4 KiB
PnvPanel
PnvPanel — self-service портал для VPN-конфигураций. Пользователи самостоятельно создают и управляют своими VPN-конфигами (VLESS / VMess / Trojan / Shadowsocks), а администраторы управляют серверами, лимитами и пользователями. Есть Telegram-бот (ссылка на сайт, просмотр конфигов, passwordless-вход через привязку Telegram). Под капотом — интеграция с панелями 3x-ui через библиотеку 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/:
- Product Vision & Scope — что мы строим и для кого
- Architecture — Clean Architecture, CQRS, интеграция, realtime, безопасность
- Domain Model — сущности, связи, инварианты
- Tech Stack (ADR) — решения по стеку и их обоснование
- Backend Conventions — структура проекта, паттерны, стиль кода
- Frontend — стек фронтенда и структура
- Telegram Bot — бот, привязка Telegram и passwordless-вход
- API Design — REST-эндпоинты и SignalR-контракты
- Roadmap — этапы разработки
Пример переменных окружения (сид админа, БД, JWT, Telegram) — .env.example.
Инструкции для AI-ассистента (Claude Code) — в CLAUDE.md.
Статус
🚧 Проектирование. Кодовая база ещё не создана — на этом этапе зафиксированы архитектура и план.