mass refactor

This commit is contained in:
2025-09-18 08:31:14 +09:00
parent 856bf3ca2a
commit bdd7d0424f
58 changed files with 3009 additions and 291 deletions

174
docs/DEPLOYMENT.md Normal file
View File

@@ -0,0 +1,174 @@
# 🚀 Checklist для запуска Telegram Tinder Bot
## ✅ Предварительные требования
### Системные требования
- [ ] Node.js 16+ установлен
- [ ] PostgreSQL 12+ установлен (или Docker)
- [ ] Git установлен
### Telegram Bot Setup
- [ ] Создать бота через @BotFather
- [ ] Получить Bot Token
- [ ] Настроить команды бота:
```
start - Начать знакомство
profile - Мой профиль
browse - Смотреть анкеты
matches - Мои матчи
settings - Настройки
help - Помощь
```
## 🛠️ Установка и настройка
### 1. Клонирование и установка
```bash
git clone <repository-url>
cd telegram-tinder-bot
chmod +x setup.sh
./setup.sh
```
### 2. Настройка конфигурации
- [ ] Скопировать `.env.example` в `.env`
- [ ] Заполнить `TELEGRAM_BOT_TOKEN`
- [ ] Настроить подключение к базе данных
### 3. База данных
- [ ] Создать базу данных `telegram_tinder_bot`
- [ ] Запустить миграции:
```bash
psql -d telegram_tinder_bot -f src/database/migrations/init.sql
```
## 🔧 Конфигурация .env файла
```env
# Обязательные настройки
TELEGRAM_BOT_TOKEN=your_bot_token_here
DB_HOST=localhost
DB_PORT=5432
DB_NAME=telegram_tinder_bot
DB_USERNAME=postgres
DB_PASSWORD=your_password
# Опциональные настройки
NODE_ENV=production
PORT=3000
UPLOAD_PATH=./uploads
MAX_FILE_SIZE=5242880
```
## 🚀 Запуск бота
### Разработка
```bash
npm run dev
```
### Продакшен (PM2)
```bash
npm run build
npm run start:prod
```
### Docker
```bash
docker-compose up -d
```
## 🧪 Тестирование
### Проверка компиляции
```bash
npm run build
```
### Проверка подключения к БД
```bash
npm run test:db
```
### Ручное тестирование
- [ ] Отправить `/start` боту
- [ ] Пройти регистрацию
- [ ] Загрузить фото
- [ ] Попробовать поиск анкет
- [ ] Создать тестовый матч
## 📊 Мониторинг
### Логи
- [ ] Проверить `logs/` папку
- [ ] Настроить ротацию логов
- [ ] Мониторинг ошибок
### Метрики
- [ ] Количество пользователей
- [ ] Активность регистраций
- [ ] Количество матчей
- [ ] Объем сообщений
## 🔒 Безопасность
### Обязательно
- [ ] Изменить пароли по умолчанию
- [ ] Настроить файрвол
- [ ] Ограничить доступ к БД
- [ ] Регулярные бэкапы
### Опционально
- [ ] SSL сертификаты
- [ ] Rate limiting
- [ ] IP whitelist для админки
## 🚨 Troubleshooting
### Частые проблемы
**Bot не отвечает:**
- Проверить токен в .env
- Проверить сетевое подключение
- Посмотреть логи ошибок
**Ошибки БД:**
- Проверить настройки подключения
- Убедиться что PostgreSQL запущен
- Проверить права доступа
**Ошибки компиляции:**
- Обновить Node.js
- Переустановить зависимости: `rm -rf node_modules && npm install`
### Полезные команды
```bash
# Перезапуск бота
pm2 restart telegram-tinder-bot
# Просмотр логов
pm2 logs telegram-tinder-bot
# Статус процессов
pm2 status
# Остановка бота
pm2 stop telegram-tinder-bot
```
## 📞 Поддержка
### При возникновении проблем:
1. Проверьте логи в `logs/error.log`
2. Убедитесь в правильности конфигурации
3. Проверьте статус всех сервисов
4. Создайте issue с описанием проблемы
### Полезные ресурсы:
- [Telegram Bot API](https://core.telegram.org/bots/api)
- [PostgreSQL Documentation](https://www.postgresql.org/docs/)
- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
---
**🎉 После выполнения всех пунктов ваш Telegram Tinder Bot готов к работе!**