docs: add Next.js admin panel guide
This commit is contained in:
59
docs/admin-nextjs-guide.md
Normal file
59
docs/admin-nextjs-guide.md
Normal 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 записей
|
||||
Reference in New Issue
Block a user