Files
telegram-shop/docs/admin-nextjs-guide.md
2026-08-05 12:54:00 +00:00

60 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 записей