nakama/QUICKSTART.md

173 lines
5.8 KiB
Markdown
Raw Normal View History

2025-11-03 20:35:01 +00:00
# 🚀 Быстрый старт NakamaSpace
Быстрая инструкция для запуска за 5 минут.
## ⚡ Супер быстрый старт
```bash
# 1. Клонировать репозиторий
git clone <repository-url>
cd nakama
# 2. Запустить
./start.sh
```
Скрипт автоматически:
- Проверит и запустит MongoDB
- Установит зависимости
- Создаст .env файлы
- Запустит приложение
## 📝 Минимальная настройка
Если используете скрипт `start.sh`, нужно только:
1. **Получить Telegram Bot Token**
- Откройте [@BotFather](https://t.me/BotFather)
- Отправьте `/newbot`
- Скопируйте токен
2. **Добавить токен в .env**
```bash
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:
```bash
# Установить 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 (планируется)
- Редактирование био
## 🛡️ Модерация
Для назначения модератора:
```javascript
// Подключиться к MongoDB
mongo nakama
// Назначить роль
db.users.updateOne(
{ telegramId: "YOUR_TELEGRAM_ID" },
{ $set: { role: "moderator" } } // или "admin"
)
```
Модераторы могут:
- Удалять любые посты
- Отмечать контент как NSFW
- Блокировать пользователей
- Просматривать и обрабатывать жалобы
## 🐛 Проблемы?
### Приложение не запускается
```bash
# Проверьте 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](SETUP.md) - Подробная инструкция по установке
- [README.md](README.md) - Полная документация проекта
- [CONTRIBUTING.md](CONTRIBUTING.md) - Гайд по разработке
## 💡 Подсказки
1. **Dev режим**: Telegram Init Data проверка отключена для удобства разработки
2. **Моки**: В dev режиме создается тестовый пользователь автоматически
3. **Hot reload**: Frontend обновляется автоматически при изменениях
4. **Логи**: Смотрите в терминале для отладки
## 🎉 Готово к использованию!
Приложение работает? Отлично! Теперь вы можете:
- Создать первый пост
- Попробовать поиск по тегам
- Изучить настройки профиля
- Пригласить друзей в свою мини-социальную сеть!
---
**Нужна помощь?** Создайте Issue на GitHub или проверьте полную документацию в SETUP.md