3cea013a8eb417917ea48500e84d75de8c7f7aa9
SmartSolTech - Business Management System
Система управления бизнесом с интеграцией Telegram бота для автоматизации обработки заявок и заказов.
🚀 Возможности
- 📋 Управление клиентами и заявками на услуги
- 🛒 Система заказов и проектов
- 📱 Интеграция с Telegram ботом
- 🔔 Уведомления по Email и Telegram
- 🎨 Современная админ-панель (Django Jazzmin)
- 📊 База данных PostgreSQL
- 🐳 Docker контейнеризация
- 📈 Мониторинг Zabbix
📁 Структура проекта
smartsoltech.kr-master/
├── smartsoltech/ # Основное Django приложение
│ ├── web/ # Веб-приложение (клиенты, заказы, услуги)
│ ├── comunication/ # Telegram бот и коммуникации
│ ├── static/ # Статические файлы
│ └── media/ # Медиа файлы
├── frontend/ # Frontend ресурсы
├── docs/ # Документация
│ ├── DEPLOYMENT.md # Руководство по деплою
│ ├── ENV_VARIABLES.md # Описание переменных окружения
│ └── QR_CODE_FEATURE_SUMMARY.md
├── scripts/ # Скрипты для управления
│ ├── deploy.sh # Скрипт автоматического деплоя
│ ├── check-config.sh # Проверка конфигурации
│ ├── setup-ssl.sh # Настройка SSL сертификатов
│ └── update_telegram_token.py # Обновление токена бота
├── tests/ # Тестовые файлы
├── bin/ # Вспомогательные скрипты
├── patch/ # Патчи для библиотек
├── docker-compose.yml # Development конфигурация
├── docker-compose.prod.yml # Production конфигурация
├── Dockerfile # Docker образ приложения
├── nginx.conf # Конфигурация Nginx
└── requirements.txt # Python зависимости
🔧 Технологический стек
- Backend: Django 5.1.1
- Database: PostgreSQL 17
- Bot: python-telegram-bot 21.6
- Frontend: Bootstrap 5
- Containerization: Docker & Docker Compose
- Web Server: Nginx (production)
- Admin: Django Jazzmin
- Monitoring: Zabbix Agent
📋 Требования
- Docker 20.10+
- Docker Compose 1.29+
- Git
⚡ Быстрый старт
1. Клонирование репозитория
git clone <repository-url>
cd smartsoltech.kr-master
2. Настройка переменных окружения
# Создайте .env файл
cp .env.example .env
# Сгенерируйте SECRET_KEY
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
# Отредактируйте .env файл
nano .env
Обязательные переменные:
SECRET_KEY- Секретный ключ DjangoDEBUG- Режим отладки (False для production)ALLOWED_HOSTS- Разрешенные хостыPOSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORD- Настройки БДPGADMIN_DEFAULT_EMAIL,PGADMIN_DEFAULT_PASSWORD- Доступ к PgAdmin
Подробнее см. docs/ENV_VARIABLES.md
3. Проверка конфигурации
chmod +x scripts/*.sh
./scripts/check-config.sh
4. Запуск приложения
Development режим:
docker-compose up -d
Production режим:
docker-compose -f docker-compose.prod.yml up -d
Или используйте скрипт автоматического деплоя:
./scripts/deploy.sh
5. Применение миграций и создание суперпользователя
# Применить миграции
docker-compose exec web python smartsoltech/manage.py migrate
# Создать суперпользователя
docker-compose exec web python smartsoltech/manage.py createsuperuser
🌐 Доступ к сервисам
После запуска сервисы доступны по адресам:
- Django App: http://localhost:8000
- Admin Panel: http://localhost:8000/admin
- PgAdmin: http://localhost:8080
- Telegram Bot: Работает в фоновом режиме
📱 Настройка Telegram бота
- Создайте бота через @BotFather
- Получите токен бота
- Обновите токен через скрипт или админ-панель:
docker-compose exec web python scripts/update_telegram_token.py
Или через админ-панель: Admin → Comunication → Telegram Settings
📧 Настройка Email
Настройте SMTP через админ-панель: Admin → Comunication → Email Settings
🔒 Безопасность
- ✅ Не храните .env в репозитории (добавлен в .gitignore)
- ✅ Используйте сильные пароли
- ✅ Установите
DEBUG=Falseв production - ✅ Настройте HTTPS (см. scripts/setup-ssl.sh)
- ✅ Регулярно обновляйте зависимости
📚 Документация
- DEPLOYMENT.md - Подробное руководство по деплою
- ENV_VARIABLES.md - Описание переменных окружения
- QR_CODE_FEATURE_SUMMARY.md - Описание функции QR-кодов
🛠️ Полезные команды
Управление контейнерами
# Просмотр логов
docker-compose logs -f
# Просмотр логов конкретного сервиса
docker-compose logs -f web
docker-compose logs -f bot
# Перезапуск сервисов
docker-compose restart
# Остановка всех сервисов
docker-compose down
# Остановка с удалением volumes (осторожно!)
docker-compose down -v
Django команды
# Применить миграции
docker-compose exec web python smartsoltech/manage.py migrate
# Создать миграции
docker-compose exec web python smartsoltech/manage.py makemigrations
# Собрать статику
docker-compose exec web python smartsoltech/manage.py collectstatic --noinput
# Создать суперпользователя
docker-compose exec web python smartsoltech/manage.py createsuperuser
# Django shell
docker-compose exec web python smartsoltech/manage.py shell
Backup и восстановление БД
# Создание backup
docker-compose exec postgres_db pg_dump -U smartsoltech_user smartsoltech_db > backup.sql
# Восстановление из backup
cat backup.sql | docker-compose exec -T postgres_db psql -U smartsoltech_user smartsoltech_db
🐛 Troubleshooting
База данных не готова
# Проверьте логи PostgreSQL
docker-compose logs postgres_db
# Проверьте health check
docker-compose ps
Telegram бот не работает
# Проверьте логи бота
docker-compose logs bot
# Обновите токен
docker-compose exec web python scripts/update_telegram_token.py
Проблемы со статикой
# Пересоберите статику
docker-compose exec web python smartsoltech/manage.py collectstatic --noinput --clear
Подробнее см. docs/DEPLOYMENT.md
🔄 Обновление приложения
# 1. Остановите сервисы
docker-compose down
# 2. Получите обновления
git pull origin main
# 3. Пересоберите образы
docker-compose build --no-cache
# 4. Запустите сервисы
docker-compose up -d
# 5. Примените миграции
docker-compose exec web python smartsoltech/manage.py migrate
# 6. Соберите статику
docker-compose exec web python smartsoltech/manage.py collectstatic --noinput
📄 Лицензия
Proprietary - Все права защищены
👥 Контакты
- Website: https://smartsoltech.kr
- Email: support@smartsoltech.kr
Made with ❤️ by SmartSolTech Team
Languages
HTML
51.5%
Python
21%
CSS
17.7%
JavaScript
5.3%
Shell
4.4%