chore: reorganize project structure and prepare for deployment

- Organize files into logical directories (docs/, scripts/, tests/)
- Add comprehensive documentation (README, CONTRIBUTING, CHANGELOG)
- Create deployment automation scripts
- Add Docker production configuration
- Update .gitignore and add .dockerignore
- Remove temporary and test files from root
- Improve settings.py with DEBUG from env variable

Added:
- README.md with project overview
- CONTRIBUTING.md for contributors
- CHANGELOG.md for version tracking
- PROJECT_STATUS.md with current state
- docker-compose.prod.yml for production
- nginx.conf for production web server
- scripts/deploy.sh for automated deployment
- scripts/check-config.sh for configuration validation
- scripts/setup-ssl.sh for SSL certificate setup
- docs/DEPLOYMENT.md with detailed deployment guide
- docs/ENV_VARIABLES.md with all environment variables

Moved:
- Documentation to docs/
- Scripts to scripts/
- Test files to tests/

Removed:
- .history/ directory
- Test response JSON files from root
- settings_production.py (merged into settings.py)

This commit prepares the project for:
- Production deployment
- Team collaboration
- Docker containerization
- Proper documentation
This commit is contained in:
2025-11-24 07:12:04 +09:00
parent 7bf003e70d
commit d9adac609b
26 changed files with 1869 additions and 11 deletions

154
scripts/README.md Normal file
View File

@@ -0,0 +1,154 @@
# Scripts
Скрипты для управления и деплоя SmartSolTech.
## Доступные скрипты
### 🚀 deploy.sh
Автоматический деплой приложения в Docker.
**Использование:**
```bash
chmod +x deploy.sh
./deploy.sh
```
**Что делает:**
- Проверяет наличие .env файла
- Останавливает существующие контейнеры
- Собирает Docker образы
- Запускает PostgreSQL
- Применяет миграции БД
- Собирает статику
- Запускает все сервисы
---
### 🔍 check-config.sh
Проверка конфигурации проекта перед деплоем.
**Использование:**
```bash
chmod +x check-config.sh
./check-config.sh
```
**Проверяет:**
- Наличие .env файла и обязательных переменных
- Установку Docker и Docker Compose
- Наличие необходимых файлов
- Права доступа к скриптам
---
### 🔒 setup-ssl.sh
Настройка SSL сертификатов Let's Encrypt для production.
**Использование:**
```bash
chmod +x setup-ssl.sh
./setup-ssl.sh your-domain.com admin@your-domain.com
```
**Параметры:**
- `domain` - Ваш домен (например, smartsoltech.kr)
- `email` - Email для уведомлений Let's Encrypt
**Что делает:**
- Создает директории для сертификатов
- Запрашивает SSL сертификат через Certbot
- Генерирует конфигурацию Nginx с HTTPS
- Настраивает автоматическое обновление сертификатов
---
### 📱 update_telegram_token.py
Обновление токена Telegram бота в базе данных.
**Использование:**
```bash
# Внутри Docker контейнера
docker-compose exec web python scripts/update_telegram_token.py
# Или напрямую с Python
python scripts/update_telegram_token.py
```
**Что делает:**
- Проверяет валидность нового токена
- Обновляет токен в базе данных
- Сохраняет информацию о боте
**Получение токена:**
1. Откройте [@BotFather](https://t.me/BotFather) в Telegram
2. Отправьте `/mybots`
3. Выберите своего бота
4. Нажмите "API Token"
---
### 🔄 update_bot_token.sh
Shell скрипт для обновления токена бота (обертка для Python скрипта).
**Использование:**
```bash
chmod +x update_bot_token.sh
./update_bot_token.sh "YOUR_BOT_TOKEN"
```
---
## Общие рекомендации
### Права доступа
Все скрипты должны быть исполняемыми:
```bash
chmod +x scripts/*.sh
```
### Production деплой
Для production используйте:
```bash
# 1. Проверьте конфигурацию
./scripts/check-config.sh
# 2. Настройте SSL (опционально)
./scripts/setup-ssl.sh your-domain.com your-email@example.com
# 3. Запустите деплой с production конфигурацией
docker-compose -f docker-compose.prod.yml up -d
```
### Development
Для разработки:
```bash
# Используйте обычный docker-compose.yml
./scripts/deploy.sh
```
## Troubleshooting
### Скрипт не запускается
```bash
# Проверьте права доступа
ls -la scripts/
# Добавьте права на выполнение
chmod +x scripts/*.sh
```
### Ошибка "command not found"
```bash
# Запускайте скрипты с ./
./scripts/deploy.sh
# Или из корня проекта
bash scripts/deploy.sh
```
### Docker команды не работают
Убедитесь, что Docker и Docker Compose установлены:
```bash
docker --version
docker-compose --version
```