nakama/QUICKSTART.md

173 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Быстрый старт 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