docs: add Next.js admin panel guide

This commit is contained in:
Z User
2026-08-05 12:54:00 +00:00
parent 6250c0e6b9
commit c6291d370c

View File

@@ -0,0 +1,59 @@
# Next.js Админ-Панель — Руководство
## Обзор
Новая админ-панель на **Next.js 16** (App Router) + **TypeScript** + **shadcn/ui** + **Prisma** (SQLite) + **Recharts**.
Полная замена EJS/SmartAdmin шаблонизатора.
## Стек
| Слой | Технология |
|---|---|
| Фреймворк | Next.js 16 (App Router, Turbopack) |
| Язык | TypeScript 5 |
| Стилизация | Tailwind CSS 4 + shadcn/ui (New York) |
| БД | Prisma ORM + SQLite |
| Графики | Recharts |
| Состояние | Zustand |
| Тема | next-themes (dark/light) |
| Уведомления | Sonner (toast) |
| Иконки | Lucide React |
## Авторизация
- Пароль: значение ADMIN_SECRET из .env
- Если задан SUPER_ADMIN_SECRET (и ≠ ADMIN_SECRET) — вход с ним даёт роль super_admin
- Если не задан — все админы = super_admin
- Кука admin_token (httpOnly, 24ч)
- Rate-limit: 5 попыток / 15 мин с IP
## Экраны (11)
1. **Dashboard** — 10 KPI, 7 графиков, активность, кошельки
2. **Catalog** — дерево локаций + товары + модалка
3. **Users** — список + детальная + бан + баланс
4. **Wallets** — 3 вкладки + seed фразы (super_admin)
5. **Purchases** — таблица с фильтрами
6. **Audit Log** — журнал с цветными бейджами
7. **Categories** — CRUD с привязкой к локациям
8. **Locations** — CRUD (страна/город/район)
9. **Settings** — редактирование .env переменных
10. **Locales** — inline-редактор 3 языков
11. **Danger Zone** — Seed / Clear с reauth
## Docker (ARM)
```bash
docker build -t tg-admin .
docker run -p 3000:3000 -v ./db:/app/db -e ADMIN_SECRET=your_secret tg-admin
```
Требования: минимум 512 МБ RAM, ARM64/ARMv7/x86_64.
## Seed-данные
POST /api/seed/demo создаёт данные идентичные оригинальному seed.js:
- 3 локации, 5 категорий, 11 подкатегорий
- 10 пользователей (alice-jack)
- 10 товаров, 25-30 покупок
- 10 криптокошельков, 2 комиссионных платежа, 12 audit записей