48 lines
3.4 KiB
Markdown
48 lines
3.4 KiB
Markdown
# 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)
|