2025-11-24 07:02:33 +09:00
2025-11-24 07:02:33 +09:00
2025-11-24 07:02:33 +09:00
2025-11-24 07:02:33 +09:00
2025-11-24 07:02:33 +09:00
2025-11-24 07:02:33 +09:00

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 - Секретный ключ Django
  • DEBUG - Режим отладки (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

🌐 Доступ к сервисам

После запуска сервисы доступны по адресам:

📱 Настройка Telegram бота

  1. Создайте бота через @BotFather
  2. Получите токен бота
  3. Обновите токен через скрипт или админ-панель:
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)
  • Регулярно обновляйте зависимости

📚 Документация

🛠️ Полезные команды

Управление контейнерами

# Просмотр логов
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 - Все права защищены

👥 Контакты


Made with ❤️ by SmartSolTech Team

Description
No description provided
Readme MIT 81 MiB
Languages
HTML 51.5%
Python 21%
CSS 17.7%
JavaScript 5.3%
Shell 4.4%