nakama/moderation
glpshchn 9a582f3a00 Update files 2025-12-15 06:50:12 +03:00
..
backend Update files 2025-12-09 04:03:25 +03:00
backend-py Update files 2025-12-15 06:50:12 +03:00
frontend Update files 2025-12-15 06:40:42 +03:00
DEPLOY.md Update files 2025-12-09 03:51:07 +03:00
PYTHON_BACKEND.md Update files 2025-12-15 02:45:41 +03:00
README.md Update files 2025-12-09 02:42:32 +03:00

README.md

Nakama Moderation Panel

Панель модерации для Nakama - полнофункциональный веб-интерфейс для модераторов.

Возможности

  • 📱 Адаптивный дизайн - работает на мобильных устройствах и десктопах
  • 🌐 Веб-версия - доступна как в Telegram WebApp, так и в обычном браузере
  • 👥 Управление пользователями - просмотр, фильтрация, блокировка пользователей
  • 📝 Управление постами - редактирование, удаление, пометка артом
  • 🚨 Обработка репортов - модерация жалоб пользователей
  • 💬 Чат модераторов - real-time чат для общения между модераторами
  • 📢 Публикация в канал - публикация контента в Telegram канал
  • 👑 Управление админами - назначение и снятие администраторов

Требования

  • Node.js 18+
  • MongoDB (используется та же БД что и основной проект)
  • Доступ к .env файлу в корне проекта

Установка

  1. Установите зависимости в корне проекта:
npm install
  1. Установите зависимости фронтенда модерации:
cd moderation/frontend
npm install
  1. Убедитесь, что в корневом .env файле настроены:
    • MONGODB_URI - URI для подключения к MongoDB
    • MODERATION_BOT_TOKEN - токен бота для модерации
    • MODERATION_OWNER_USERNAMES - список владельцев (через запятую)
    • MODERATION_PORT - порт для бэкенда модерации (по умолчанию 3001)

Запуск

Development режим

Запустить бэкенд и фронтенд модерации одновременно:

npm run mod-dev

Или отдельно:

# Бэкенд (порт 3001)
npm run mod-server

# Фронтенд (порт 5174)
npm run mod-client

Production режим

  1. Соберите фронтенд:
npm run mod-build
  1. Запустите бэкенд:
npm run mod-start

Доступ

В Telegram

Откройте бота модерации и перейдите в меню веб-приложения.

В браузере

  1. Откройте http://localhost:5174 (development) или ваш production URL
  2. Войдите используя 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 - подключение к MongoDB
  • MODERATION_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
  • Валидация и санитизация всех входных данных

Поддержка

При возникновении проблем обращайтесь к владельцу системы.