5.8 KiB
5.8 KiB
🚀 Быстрый старт NakamaSpace
Быстрая инструкция для запуска за 5 минут.
⚡ Супер быстрый старт
# 1. Клонировать репозиторий
git clone <repository-url>
cd nakama
# 2. Запустить
./start.sh
Скрипт автоматически:
- Проверит и запустит MongoDB
- Установит зависимости
- Создаст .env файлы
- Запустит приложение
📝 Минимальная настройка
Если используете скрипт start.sh, нужно только:
-
Получить Telegram Bot Token
- Откройте @BotFather
- Отправьте
/newbot - Скопируйте токен
-
Добавить токен в .env
nano .env # Замените: TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here -
Настроить Web App в боте
- В BotFather:
/mybots→ ваш бот → Bot Settings → Menu Button - Укажите URL:
http://localhost:5173(для разработки)
- В BotFather:
🌐 Для локального тестирования в Telegram
Telegram требует HTTPS для Mini Apps. Используйте ngrok:
# Установить ngrok
brew install ngrok # macOS
# или скачайте с https://ngrok.com
# Запустить туннель
ngrok http 5173
# Скопируйте HTTPS URL и укажите в BotFather
📱 Первый запуск
- Откройте бота в Telegram
- Нажмите кнопку меню или отправьте команду
- Приложение откроется как Mini App
- Готово! Теперь можете:
- Создавать посты с тегами
- Искать в 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 - Гайд по разработке
💡 Подсказки
- Dev режим: Telegram Init Data проверка отключена для удобства разработки
- Моки: В dev режиме создается тестовый пользователь автоматически
- Hot reload: Frontend обновляется автоматически при изменениях
- Логи: Смотрите в терминале для отладки
🎉 Готово к использованию!
Приложение работает? Отлично! Теперь вы можете:
- Создать первый пост
- Попробовать поиск по тегам
- Изучить настройки профиля
- Пригласить друзей в свою мини-социальную сеть!
Нужна помощь? Создайте Issue на GitHub или проверьте полную документацию в SETUP.md