|
|
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| DEPLOY.md | ||
| README.md | ||
README.md
Nakama Moderation Panel
Панель модерации для Nakama - полнофункциональный веб-интерфейс для модераторов.
Возможности
- 📱 Адаптивный дизайн - работает на мобильных устройствах и десктопах
- 🌐 Веб-версия - доступна как в Telegram WebApp, так и в обычном браузере
- 👥 Управление пользователями - просмотр, фильтрация, блокировка пользователей
- 📝 Управление постами - редактирование, удаление, пометка артом
- 🚨 Обработка репортов - модерация жалоб пользователей
- 💬 Чат модераторов - real-time чат для общения между модераторами
- 📢 Публикация в канал - публикация контента в Telegram канал
- 👑 Управление админами - назначение и снятие администраторов
Требования
- Node.js 18+
- MongoDB (используется та же БД что и основной проект)
- Доступ к
.envфайлу в корне проекта
Установка
- Установите зависимости в корне проекта:
npm install
- Установите зависимости фронтенда модерации:
cd moderation/frontend
npm install
- Убедитесь, что в корневом
.envфайле настроены:MONGODB_URI- URI для подключения к MongoDBMODERATION_BOT_TOKEN- токен бота для модерацииMODERATION_OWNER_USERNAMES- список владельцев (через запятую)MODERATION_PORT- порт для бэкенда модерации (по умолчанию 3001)
Запуск
Development режим
Запустить бэкенд и фронтенд модерации одновременно:
npm run mod-dev
Или отдельно:
# Бэкенд (порт 3001)
npm run mod-server
# Фронтенд (порт 5174)
npm run mod-client
Production режим
- Соберите фронтенд:
npm run mod-build
- Запустите бэкенд:
npm run mod-start
Доступ
В Telegram
Откройте бота модерации и перейдите в меню веб-приложения.
В браузере
- Откройте
http://localhost:5174(development) или ваш production URL - Войдите используя initData из Telegram WebApp или токен доступа
Структура проекта
moderation/
├── backend/
│ └── server.js # Бэкенд сервер модерации
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Главный компонент
│ │ ├── utils/
│ │ │ └── api.js # API клиент
│ │ └── styles.css # Стили с адаптивным дизайном
│ └── vite.config.js # Конфигурация Vite
└── README.md
Технологии
- Backend: Express.js, использует общие middleware и модели из основного бэкенда
- Frontend: React, Vite
- WebSocket: Socket.io для real-time чата модераторов
- Стили: CSS с адаптивными media queries
Переменные окружения
Модераторский бэкенд использует переменные из корневого .env:
MONGODB_URI- подключение к MongoDBMODERATION_BOT_TOKEN- токен ботаMODERATION_OWNER_USERNAMES- владельцы системыMODERATION_PORT- порт бэкенда (по умолчанию 3001)MODERATION_CORS_ORIGIN- CORS origin (опционально)- Все остальные переменные из основного
.env
Адаптивный дизайн
Приложение автоматически адаптируется под разные размеры экранов:
- Desktop (>1024px): Многоколоночный layout, расширенные элементы управления
- Tablet (768px-1023px): Одноколоночный layout с оптимизированными элементами
- Mobile (<768px): Компактный layout, вертикальное меню, сенсорные элементы
Безопасность
- Все запросы требуют авторизации через Telegram initData
- Используются те же middleware безопасности что и в основном бэкенде
- Rate limiting для защиты от DDoS
- Валидация и санитизация всех входных данных
Поддержка
При возникновении проблем обращайтесь к владельцу системы.