✨ Major reorganization: - Move all documentation to docs/ directory - Clean up root directory from temporary files - Add comprehensive project documentation - Implement Drone CI/CD pipeline 📁 Structure changes: - docs/SCRIPTS_README.md - Complete scripts guide - docs/DEPLOYMENT.md - Production deployment guide - docs/API.md - Comprehensive API documentation - patch/ - Temporary and test files - Clean .gitignore with proper exclusions 🚀 CI/CD Pipeline (.drone.yml): - Code quality checks (flake8, black, bandit) - Unit and integration testing - Docker image building and security scanning - Staging deployment automation - Production deployment on tags - Telegram notifications - Scheduled maintenance tasks 📖 Enhanced README.md: - Technology stack badges with icons - Drone CI build status badge - Comprehensive quick start guide - Clear project architecture - Links to all documentation 🔧 Additional improvements: - MIT License added - .gitkeep files for important directories - Improved .gitignore patterns - Professional project presentation 🎯 Result: Clean, professional project structure ready for production
213 lines
8.9 KiB
Markdown
213 lines
8.9 KiB
Markdown
# 🚀 SmartSolTech
|
||
|
||
[](https://drone.smartsoltech.kr/smartsoltech/smartsoltech.kr)
|
||
[](https://opensource.org/licenses/MIT)
|
||
[](https://www.python.org/downloads/release/python-3100/)
|
||
[](https://docs.djangoproject.com/en/4.2/)
|
||
|
||
Современная веб-платформа для предоставления IT-услуг с интегрированной системой управления заказами и Telegram-ботом.
|
||
|
||
## 🛠️ Технологический стек
|
||
|
||
<p align="center">
|
||
<img src="https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python" />
|
||
<img src="https://img.shields.io/badge/Django-092E20?style=for-the-badge&logo=django&logoColor=white" alt="Django" />
|
||
<img src="https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge&logo=postgresql&logoColor=white" alt="PostgreSQL" />
|
||
<img src="https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white" alt="Docker" />
|
||
<img src="https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge&logo=bootstrap&logoColor=white" alt="Bootstrap" />
|
||
<img src="https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black" alt="JavaScript" />
|
||
<img src="https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram" />
|
||
<img src="https://img.shields.io/badge/Drone%20CI-212121?style=for-the-badge&logo=drone&logoColor=white" alt="Drone CI" />
|
||
<img src="https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white" alt="HTML5" />
|
||
<img src="https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white" alt="CSS3" />
|
||
</p>
|
||
|
||
## ✨ Основные возможности
|
||
|
||
### 📱 **Веб-платформа**
|
||
- Современный адаптивный интерфейс на Bootstrap 5
|
||
- Система подачи заявок на услуги с QR-кодами
|
||
- Портфолио проектов и услуг
|
||
- Админ-панель для управления контентом
|
||
|
||
### 🤖 **Telegram Bot Integration**
|
||
- Автоматическое уведомление о новых заказах
|
||
- Подтверждение заявок через QR-коды
|
||
- Двусторонняя связь клиент-компания
|
||
- Real-time статусы заказов
|
||
|
||
### 🔧 **DevOps & Автоматизация**
|
||
- Docker контейнеризация
|
||
- CI/CD pipeline с Drone
|
||
- Автоматизированные скрипты развертывания
|
||
- Система резервного копирования
|
||
|
||
## 🚀 Быстрый старт
|
||
|
||
### Требования
|
||
- Docker & Docker Compose
|
||
- Git
|
||
- Python 3.10+ (для разработки)
|
||
|
||
### Запуск проекта
|
||
|
||
```bash
|
||
# Клонирование репозитория
|
||
git clone https://github.com/smartsoltech/smartsoltech.kr.git
|
||
cd smartsoltech.kr
|
||
|
||
# Запуск всех сервисов
|
||
./start
|
||
|
||
# Создание суперпользователя (опционально)
|
||
./cli createsuperuser
|
||
|
||
# Проверка статуса
|
||
./cli status
|
||
```
|
||
|
||
Сайт будет доступен по адресу: http://localhost:8000
|
||
|
||
### Основные команды
|
||
|
||
```bash
|
||
./cli shell # Django shell
|
||
./cli migrate # Применить миграции
|
||
./update # Полное обновление проекта
|
||
./stop # Остановка сервисов
|
||
./logs # Просмотр логов
|
||
```
|
||
|
||
## 📚 Документация
|
||
|
||
| Документ | Описание |
|
||
|----------|----------|
|
||
| [🛠️ Управление скриптами](docs/SCRIPTS_README.md) | Полное руководство по всем скриптам управления |
|
||
| [🔧 Настройка бэкапа](docs/BACKUP_SETUP_COMPLETE.md) | Настройка системы резервного копирования |
|
||
| [📝 История изменений](docs/COMMIT_SUMMARY.md) | Подробная история разработки |
|
||
| [🚀 Развертывание](docs/DEPLOYMENT.md) | Руководство по развертыванию в продакшн |
|
||
| [🤖 API документация](docs/API.md) | Документация REST API |
|
||
|
||
## 🏗️ Архитектура проекта
|
||
|
||
```
|
||
smartsoltech.kr/
|
||
├── 📄 README.md # Основная документация
|
||
├── 📜 LICENSE # Лицензия MIT
|
||
├── 🔧 .drone.yml # CI/CD pipeline конфигурация
|
||
├── 📋 .gitignore # Git исключения
|
||
├── 🐳 Контейнеризация
|
||
│ ├── Dockerfile # Docker образ
|
||
│ ├── docker-compose.yml # Оркестрация сервисов
|
||
│ └── requirements.txt # Python зависимости
|
||
├── 🛠️ bin/ # Скрипты управления
|
||
│ ├── cli.sh # CLI для контейнера
|
||
│ ├── update.sh # Скрипт обновления
|
||
│ ├── start.sh, stop.sh # Управление сервисами
|
||
│ ├── logs.sh # Просмотр логов
|
||
│ └── setup-backup.sh # Настройка backup
|
||
├── 📚 docs/ # Документация
|
||
│ ├── SCRIPTS_README.md # Руководство по скриптам
|
||
│ ├── DEPLOYMENT.md # Развертывание в продакшн
|
||
│ ├── API.md # API документация
|
||
│ └── *.md # Другая документация
|
||
├── 🐍 smartsoltech/ # Django приложение
|
||
│ ├── web/ # Основное веб-приложение
|
||
│ ├── comunication/ # Telegram bot & уведомления
|
||
│ ├── static/ # Статические файлы
|
||
│ ├── media/ # Загруженные файлы
|
||
│ └── manage.py # Django управление
|
||
├── 🎨 frontend/ # Фронтенд ресурсы
|
||
│ ├── assets/ # CSS, JS, изображения
|
||
│ └── *.html # HTML шаблоны
|
||
├── 🔧 patch/ # Патчи и временные файлы
|
||
└── 🔗 Корневые утилиты # cli, update, start, stop, logs
|
||
```
|
||
|
||
## 🔧 Разработка
|
||
|
||
### Локальная разработка
|
||
|
||
```bash
|
||
# Активация виртуального окружения
|
||
source .venv/bin/activate
|
||
|
||
# Установка зависимостей
|
||
pip install -r requirements.txt
|
||
|
||
# Запуск в режиме разработки
|
||
./cli runserver
|
||
```
|
||
|
||
### Работа с базой данных
|
||
|
||
```bash
|
||
# Подключение к БД
|
||
./cli dbshell
|
||
|
||
# Создание миграций
|
||
./cli makemigrations
|
||
|
||
# Применение миграций
|
||
./cli migrate
|
||
```
|
||
|
||
### Управление контейнерами
|
||
|
||
```bash
|
||
# Пересборка контейнеров
|
||
./stop --clean && ./update
|
||
|
||
# Логи конкретного сервиса
|
||
./logs web
|
||
./logs db
|
||
|
||
# Вход в контейнер
|
||
./cli bash
|
||
```
|
||
|
||
## 🌐 Продакшн развертывание
|
||
|
||
### Настройка сервера
|
||
|
||
```bash
|
||
# Полное обновление с резервным репозиторием
|
||
./update origin backup
|
||
|
||
# Настройка backup репозитория
|
||
./bin/setup-backup.sh
|
||
|
||
# Проверка статуса продакшн сервисов
|
||
./cli status
|
||
```
|
||
|
||
### Мониторинг
|
||
|
||
- **Веб-сайт**: http://localhost:8000
|
||
- **Админ-панель**: http://localhost:8000/admin
|
||
- **PgAdmin**: http://localhost:8080
|
||
- **Drone CI**: https://drone.smartsoltech.kr
|
||
|
||
## 🤝 Участие в разработке
|
||
|
||
1. Fork репозитория
|
||
2. Создайте feature ветку: `git checkout -b feature/amazing-feature`
|
||
3. Commit изменения: `git commit -m 'Add amazing feature'`
|
||
4. Push в ветку: `git push origin feature/amazing-feature`
|
||
5. Создайте Pull Request
|
||
|
||
## 📝 Лицензия
|
||
|
||
Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).
|
||
|
||
## 📞 Контакты
|
||
|
||
- **Сайт**: [smartsoltech.kr](https://smartsoltech.kr)
|
||
- **Email**: info@smartsoltech.kr
|
||
- **Telegram**: [@smartsoltech](https://t.me/smartsoltech)
|
||
|
||
---
|
||
|
||
<p align="center">
|
||
Сделано с ❤️ командой <strong>SmartSolTech</strong>
|
||
</p> |