Skip to content

ti-rudin/samurai

Repository files navigation

🚗 Samurai - Car Service Management System

License: MIT Node.js Version Vue.js Version Docker

Революционная система управления автосервисом с ИИ - объединяем headless CMS Strapi, Vue.js и автоматизацию Node-RED для создания мощного решения для автобизнеса.

🔥 Что делает Samurai особенным?

🤖 Интеллектуальное создание заказ-нарядов

Используйте простые предложения вроде "замена масла, обслуживание шруса" - система автоматически:

  • Создаст структурированный заказ-наряд
  • Найдет нормочасы для работ
  • Подберет необходимые запчасти
  • Предложит сопутствующие работы

📊 Полная прозрачность бизнеса

  • Мониторинг ремонтов в реальном времени
  • Детальная финансовая аналитика
  • Автоматические уведомления клиентов
  • Персонализированное обслуживание

🚀 Современная архитектура

  • Микросервисы для масштабируемости
  • AI интеграция с YandexGPT и Vision API
  • Автоматизация бизнес-процессов через Node-RED
  • PWA поддержка для мобильных устройств

🏗️ Архитектура системы

┌─────────────────────────────────────────────────────────────────┐
│                        Samurai Car Service                      │
├─────────────────────────────────────────────────────────────────┤
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────┐  │
│  │  Admin      │  │   Client    │  │  Workers    │  │ Node-   │  │
│  │  Panel      │  │   Portal    │  │ Interface   │  │  RED    │  │
│  │  Vue 3      │  │  Vue 3      │  │  Vue 3      │  │ Flows   │  │
│  └─────────────┘  └─────────────┘  └─────────────┘  └─────────┘  │
├─────────────────────────────────────────────────────────────────┤
│                    Strapi 5 (Headless CMS)                     │
│                    SQLite Database                             │
└─────────────────────────────────────────────────────────────────┘

🛠️ Компоненты системы

Компонент Технологии Порт Домен
Админ-панель Vue 3 + Vite 1100 a.your-domain.com
Клиентский портал Vue 3 + Vite 1101 your-domain.com
Интерфейс исполнителей Vue 3 + Vite 1102 in.your-domain.com
Strapi CMS Strapi 5 + TypeScript 1103 strapi.your-domain.com
Node-RED Node-RED + Flows 1880 api.your-domain.com

🚀 Быстрый старт

Предварительные требования

  • Node.js >= 18.0.0
  • Docker & Docker Compose
  • Git

Установка в один клик

# 1. Клонировать репозиторий
git clone https://github.com/ti-rudin/samurai.git
cd samurai

# 2. Запустить систему
docker-compose up -d

# 3. Открыть в браузере
# Админ-панель: https://a.your-domain.com
# Клиентский портал: https://your-domain.com

Готово! 🎉 Система запущена и готова к работе.

👨‍💻 Запуск в режиме разработки

Для разработчиков

Если вам нужно запускать систему в режиме разработки с возможностью отладки и горячей перезагрузки, следуйте этим шагам:

1. Предварительные требования

# Убедитесь, что установлен Node.js >= 18.0.0
node --version

# Установите PM2 глобально (если не установлен)
npm install -g pm2

# Убедитесь, что установлен Docker и Docker Compose
docker --version
docker-compose --version

2. Установка зависимостей

# Используйте скрипт для установки зависимостей во всех проектах
./install-all.sh

# Или установите вручную
# cd strapi && npm install && cd ..
# cd admin-front && npm install && cd ..
# cd main-front && npm install && cd ..
# cd in-front && npm install && cd ..
# cd node-red && npm install && cd ..

3. Настройка переменных окружения

Убедитесь, что файл .env содержит все необходимые переменные окружения (см. раздел "Ручная настройка" выше).

4. Запуск в режиме разработки

# Шаг 1: Установите dotenv (для загрузки .env файла)
npm install dotenv

# Шаг 2: Запустите node-red
docker compose -f 'docker-compose.nr.yml' up -d --build

# Шаг 3: В новом терминале запустите все приложения в режиме разработки
pm2 start ecosystem.dev.config.js

5. Доступ к приложениям

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

Приложение URL Порт
Админ-панель https://a.dev.autoclub-samurai.ru 1100
Клиентский портал https://dev.autoclub-samurai.ru 1101
Интерфейс исполнителей https://in.dev.autoclub-samurai.ru 1102
Strapi Admin https://strapi.dev.autoclub-samurai.ru/admin 1103
Node-RED https://api.dev.autoclub-samurai.ru 1880

6. Управление процессами PM2

# Посмотреть статус всех процессов
pm2 status

# Посмотреть логи конкретного приложения
pm2 logs admin-frontend-dev
pm2 logs strapi-dev

# Перезапустить приложение
pm2 restart admin-frontend-dev

# Остановить все приложения
pm2 stop all

# Удалить все процессы PM2
pm2 delete all

7. Разработка и отладка

  • Горячая перезагрузка включена для всех фронтенд-приложений
  • Автосохранение работает для всех компонентов
  • Логи доступны в реальном времени через PM2
  • Отладка возможна через браузерные инструменты разработчика

8. Остановка разработки

# Остановить все приложения
pm2 stop all

# Остановить Docker-контейнеры
docker-compose down

🔧 Ручная настройка

1. Установка зависимостей

# Backend (Strapi)
cd strapi && npm install

# Фронтенды
cd ../admin-front && npm install
cd ../main-front && npm install
cd ../in-front && npm install

2. Настройка переменных окружения

cp .env.example .env
# Отредактируйте .env файл с вашими настройками

Обязательные переменные:

# Yandex AI API
YANDEX_GPT_FOLDER_ID=your_yandex_gpt_folder_id
YANDEX_VISION_FOLDER_ID=your_yandex_vision_folder_id

# URLs (измените на ваши домены)
VITE_ADMIN_FRONTEND_URL=https://a.your-domain.com
VITE_MAIN_FRONTEND_URL=https://your-domain.com

3. Сборка и запуск

# Сборка всех образов
docker-compose build

# Запуск системы
docker-compose up -d

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

Подробное руководство по настройке и запуску в продакшене.

Автоматически генерируемая документация Strapi API.

🛠️ Технологии

Frontend

  • Vue 3 - Прогрессивный JavaScript фреймворк
  • Vite - Молниеносный билдер
  • Tailwind CSS - Utility-first CSS
  • Pinia - Современное управление состоянием
  • Vue Router - Маршрутизация
  • PWA - Progressive Web Apps

Backend

  • Strapi 5 - Headless CMS
  • SQLite - Легковесная база данных
  • TypeScript - Типизация

Автоматизация

  • Node-RED - Flow-based programming
  • Telegram Bot API - Уведомления
  • Yandex AI - Искусственный интеллект

DevOps

  • Docker - Контейнеризация
  • Traefik - Reverse proxy
  • PM2 - Process management
  • Let's Encrypt - SSL сертификаты

🎯 Возможности

Для владельцев бизнеса

  • 📊 Финансовая аналитика - детальные отчеты о доходах/расходах
  • 👥 Управление персоналом - оптимизация загрузки сотрудников
  • 📈 Прогнозирование - AI-based insights о бизнесе
  • 🔄 Автоматизация - рутинные процессы на автопилоте

Для мастеров-приемщиков

  • Быстрое создание заказов - AI-assisted order creation
  • 📋 Мониторинг ремонтов - реальное время статусов
  • 👤 Клиентская база - полная история взаимодействий
  • 📱 Мобильный доступ - работа с любого устройства

Для механиков

  • 🔧 Персональный дашборд - актуальные задачи
  • Отчетность - фиксация выполненных работ
  • 📚 История ремонтов - доступ к прошлым заказам
  • 💬 Коммуникация - интеграция с Telegram

Для клиентов

  • 🌐 Онлайн-заявки - 24/7 доступ к сервису
  • 👤 Личный кабинет - контроль всех автомобилей
  • 💰 Прозрачные цены - никаких скрытых платежей
  • 📱 Уведомления - всегда в курсе статуса ремонта

🤝 Участие в разработке

Мы приветствуем контрибьюторов! 🚀

Как внести вклад

  1. Форкните репозиторий
  2. Создайте ветку для вашей фичи (git checkout -b feature/AmazingFeature)
  3. Зафиксируйте изменения (git commit -m 'Add some AmazingFeature')
  4. Отправьте в ветку (git push origin feature/AmazingFeature)
  5. Создайте Pull Request

Типы контрибуций

  • 🐛 Багфиксы - исправление ошибок
  • Новые фичи - добавление функциональности
  • 📚 Документация - улучшение руководств
  • 🎨 UI/UX - улучшение интерфейса
  • 🔧 Оптимизация - повышение производительности

Стандарты разработки

  • ESLint - для JavaScript/TypeScript
  • Prettier - для форматирования кода
  • Conventional Commits - для сообщений коммитов

📝 Лицензия

Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.

🙏 Благодарности

  • Strapi - за отличный headless CMS
  • Vue.js - за прогрессивный фреймворк
  • Node-RED - за мощную автоматизацию
  • Yandex Cloud - за AI возможности
  • Open Source сообщество - за вдохновение

📞 Контакты


Создано с ❤️ для автобизнеса

⭐ Поставьте звезду | 🐛 Сообщить о баге | 💬 Обсудить

About

Революционная система управления автосервисом. ИИ-генерация заказ-нарядов за 10 секунд с помощью YandexGPT. Автоматизация работ и расчетов.

Resources

License

Stars

Watchers

Forks

Contributors