nakama/QUICKSTART.md

5.8 KiB
Raw Blame History

🚀 Быстрый старт NakamaSpace

Быстрая инструкция для запуска за 5 минут.

Супер быстрый старт

# 1. Клонировать репозиторий
git clone <repository-url>
cd nakama

# 2. Запустить
./start.sh

Скрипт автоматически:

  • Проверит и запустит MongoDB
  • Установит зависимости
  • Создаст .env файлы
  • Запустит приложение

📝 Минимальная настройка

Если используете скрипт start.sh, нужно только:

  1. Получить Telegram Bot Token

    • Откройте @BotFather
    • Отправьте /newbot
    • Скопируйте токен
  2. Добавить токен в .env

    nano .env
    # Замените: TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
    
  3. Настроить Web App в боте

    • В BotFather: /mybots → ваш бот → Bot Settings → Menu Button
    • Укажите URL: http://localhost:5173 (для разработки)

🌐 Для локального тестирования в Telegram

Telegram требует HTTPS для Mini Apps. Используйте ngrok:

# Установить ngrok
brew install ngrok  # macOS
# или скачайте с https://ngrok.com

# Запустить туннель
ngrok http 5173

# Скопируйте HTTPS URL и укажите в BotFather

📱 Первый запуск

  1. Откройте бота в Telegram
  2. Нажмите кнопку меню или отправьте команду
  3. Приложение откроется как Mini App
  4. Готово! Теперь можете:
    • Создавать посты с тегами
    • Искать в e621 и gelbooru
    • Подписываться на пользователей
    • Получать уведомления

🛠️ Структура проекта

nakama/
├── backend/          # API сервер
├── frontend/         # React приложение
├── start.sh          # Скрипт запуска
├── SETUP.md          # Подробная инструкция
└── README.md         # Основная документация

🎨 Основные функции

🏠 Лента

  • Создание постов с текстом и изображениями
  • Обязательные теги: Furry 🦊, Anime 🎌, Other
  • Лайки, комментарии, репосты
  • Упоминания пользователей

🔍 Поиск

  • e621 API для Furry контента
  • gelbooru API для Anime
  • Автокомплит тегов
  • Просмотрщик изображений с swipe
  • Скачивание изображений

🔔 Уведомления

  • Telegram-стиль баблов
  • Уведомления о подписках, лайках, комментариях
  • Переходы к постам и профилям

👤 Профиль

  • Статистика подписчиков
  • Настройки фильтров (без Furry, только Anime, без NSFW)
  • Донаты через Telegram Stars (планируется)
  • Редактирование био

🛡️ Модерация

Для назначения модератора:

// Подключиться к MongoDB
mongo nakama

// Назначить роль
db.users.updateOne(
  { telegramId: "YOUR_TELEGRAM_ID" },
  { $set: { role: "moderator" } }  // или "admin"
)

Модераторы могут:

  • Удалять любые посты
  • Отмечать контент как NSFW
  • Блокировать пользователей
  • Просматривать и обрабатывать жалобы

🐛 Проблемы?

Приложение не запускается

# Проверьте MongoDB
brew services list  # должен быть started

# Проверьте порты
lsof -i :3000  # backend
lsof -i :5173  # frontend

CORS ошибки

Убедитесь что frontend/.env содержит правильный API URL:

VITE_API_URL=http://localhost:3000/api

Telegram показывает ошибку

  • Проверьте что используете HTTPS (ngrok для разработки)
  • Убедитесь что токен бота правильный
  • Проверьте что Menu Button настроен в BotFather

📚 Дополнительная документация

  • SETUP.md - Подробная инструкция по установке
  • README.md - Полная документация проекта
  • CONTRIBUTING.md - Гайд по разработке

💡 Подсказки

  1. Dev режим: Telegram Init Data проверка отключена для удобства разработки
  2. Моки: В dev режиме создается тестовый пользователь автоматически
  3. Hot reload: Frontend обновляется автоматически при изменениях
  4. Логи: Смотрите в терминале для отладки

🎉 Готово к использованию!

Приложение работает? Отлично! Теперь вы можете:

  • Создать первый пост
  • Попробовать поиск по тегам
  • Изучить настройки профиля
  • Пригласить друзей в свою мини-социальную сеть!

Нужна помощь? Создайте Issue на GitHub или проверьте полную документацию в SETUP.md