ackFromRedmi 8685a4ca44
All checks were successful
Auto-Deploy-prodman / deploy (push) Successful in 10s
Виндсерф сгенерировал реадми
2026-02-23 18:52:26 +03:00
2026-02-14 09:32:46 +03:00
2026-02-15 00:12:24 +03:00
2026-02-14 09:32:46 +03:00
2026-02-14 09:32:46 +03:00

ProdMan - Production Management System

Система управления производством для управления спецификациями (BOM), материалами и технологическими операциями.

Обзор проекта

ProdMan - это веб-приложение на базе Django, предназначенное для управления производственными процессами, включая:

  • Управление спецификациями материалов (BOM)
  • Учёт и управление складскими запасами
  • Технологические маршруты и операции
  • Управление материалами и заготовками
  • Поддержка различных типов операций (лазерная резка, механическая обработка и др.)

Основные возможности

📋 Управление спецификациями (BOM Manager)

  • Иерархическая структура изделий с поддержкой MPTT
  • Полиморфные модели для различных типов компонентов
  • Технологические маршруты с последовательностью операций
  • Поддержка различных типов операций (лазерная резка, гибка, сварка и др.)

🏭 Управление материалами (Stock)

  • Справочник марок стали и нормативных документов (ГОСТ, ТУ, ОСТ)
  • Учёт различных типов заготовок (листовой прокат, трубы, профили)
  • Интеграция с BOM для автоматического расчёта потребности в материалах

🔧 Технологические операции

  • Лазерная резка листовых материалов
  • Механическая обработка
  • Сборочные операции
  • Контроль качества
  • Гибочные и сварочные работы

📁 Управление файлами

  • Загрузка и хранение DXF файлов для лазерной резки
  • Поддержка PDF документов для нормативной документации
  • Медиа-файлы для чертежей и документации

Технологический стек

  • Backend: Django 6.0.2
  • Database: PostgreSQL (production) / SQLite (development)
  • Frontend: Django Templates с Bootstrap
  • Containerization: Docker + Docker Compose
  • Web Server: Nginx (reverse proxy)
  • WSGI Server: Gunicorn
  • Python: 3.12

Структура проекта

Prodman/
├── bom_manager/          # Управление спецификациями
│   ├── models.py         # Модели BOM, операций, изделий
│   ├── views.py          # Представления
│   └── ...
├── stock/                # Управление материалами
│   ├── models.py         # Модели материалов, ГОСТов, заготовок
│   ├── views.py          # Представления
│   └── ...
├── core/                 # Основные настройки Django
│   ├── settings.py       # Конфигурация проекта
│   ├── urls.py           # URL маршрутизация
│   └── ...
├── media/                # Медиа файлы
├── staticfiles/          # Статические файлы
├── templates/            # Шаблоны HTML
├── nginx/                # Конфигурация Nginx
├── docker-compose.yml    # Docker конфигурация
├── Dockerfile           # Docker образ приложения
└── requirements.txt     # Зависимости Python

Установка и запуск

Требования

  • Docker и Docker Compose
  • Python 3.12+ (для локальной разработки)
  • PostgreSQL (для production)

Быстрый старт с Docker

  1. Клонирование репозитория

    git clone <repository-url>
    cd Prodman
    
  2. Настройка переменных окружения

    Создайте файл .env на основе примера:

    cp .env.example .env
    

    Отредактируйте .env файл:

    ENV_TYPE=server
    DB_NAME=prodman_db
    DB_USER=prodman_user
    DB_PASS=your_secure_password
    DB_HOST=db
    ALLOWED_HOSTS=localhost,your-domain.com
    
  3. Запуск приложения

    docker-compose up -d
    
  4. Выполнение миграций

    docker-compose exec web python manage.py migrate
    
  5. Создание суперпользователя

    docker-compose exec web python manage.py createsuperuser
    
  6. Сбор статических файлов

    docker-compose exec web python manage.py collectstatic --noinput
    

Приложение будет доступно по адресу: http://localhost:8085

Локальная разработка

  1. Создание виртуального окружения

    python -m venv venv
    source venv/bin/activate  # для Windows: venv\Scripts\activate
    
  2. Установка зависимостей

    pip install -r requirements.txt
    
  3. Настройка базы данных

    По умолчанию используется SQLite. Для PostgreSQL:

    ENV_TYPE=dev
    
  4. Выполнение миграций

    python manage.py migrate
    
  5. Запуск сервера разработки

    python manage.py runserver
    

Конфигурация

Переменные окружения

  • ENV_TYPE: Тип окружения (local, dev, server)
  • DB_NAME: Имя базы данных
  • DB_USER: Пользователь базы данных
  • DB_PASS: Пароль базы данных
  • DB_HOST: Хост базы данных
  • ALLOWED_HOSTS: Разрешённые хосты через запятую

Режимы работы

  • local: SQLite база данных, DEBUG=True, все хосты разрешены
  • dev: PostgreSQL база данных, DEBUG=True, все хосты разрешены
  • server: PostgreSQL база данных, DEBUG=False, ограниченные хосты

API и интеграция

Основные модели

  • Item: Базовая модель для компонентов и изделий
  • BaseOperation: Базовый класс для технологических операций
  • BaseMaterial: Базовая модель для материалов и заготовок
  • Gost: Нормативные документы (ГОСТ, ТУ, ОСТ)
  • MaterialGrade: Марки материалов

Типы операций

  • LaserCutSheet: Лазерная резка листовых материалов
  • BendingOperation: Гибочные операции
  • WeldingOperation: Сварочные операции
  • AssemblyOperation: Сборочные операции

Разработка

Структура приложений

bom_manager

  • Модели для управления спецификациями
  • Технологические маршруты
  • Иерархическая структура изделий

stock

  • Модели материалов и заготовок
  • Справочники ГОСТов и марок стали
  • Учёт складских операций

Добавление новых типов операций

  1. Создайте новый класс, наследуемый от BaseOperation
  2. Определите необходимые поля
  3. Реализуйте метод clean() для валидации
  4. Добавьте представление и шаблон при необходимости

Пример:

class NewOperationType(BaseOperation):
    custom_field = models.CharField("Пользовательское поле", max_length=100)
    
    def clean(self):
        super().clean()
        # Дополнительная валидация
        pass

Тестирование

# Запуск всех тестов
python manage.py test

# Запуск тестов для конкретного приложения
python manage.py test bom_manager
python manage.py test stock

Развертывание

Production развертывание

  1. Настройте переменные окружения в .env файле
  2. Убедитесь, что ENV_TYPE=server
  3. Настройте SSL сертификаты для HTTPS
  4. Настройте бэкапы базы данных
  5. Настройте мониторинг и логирование

Бэкап и восстановление

# Бэкап базы данных
docker-compose exec db pg_dump -U prodman_user prodman_db > backup.sql

# Восстановление базы данных
docker-compose exec -T db psql -U prodman_user prodman_db < backup.sql

Вклад в проект

  1. Fork репозитория
  2. Создайте feature ветку
  3. Внесите изменения
  4. Добавьте тесты
  5. Отправьте pull request

Лицензия

[Добавьте информацию о лицензии]

Контакты

[Добавьте контактную информацию]

Известные проблемы

  • [Список известных проблем и их статусы]

Roadmap

  • [Планируемые функции и улучшения]
  • Интеграция с CAD системами
  • Автоматический расчёт себестоимости
  • Мобильное приложение
  • API для внешних интеграций
Description
No description provided
Readme 1.1 MiB
Languages
Python 93.3%
HTML 5.1%
Dockerfile 1.1%
Shell 0.5%