commit 8c38cb68c44159898033dc7ba0ed8e1a4c412812 Author: ack Date: Tue Feb 10 08:13:57 2026 +0000 Initial commit diff --git a/.clinerules/01-django-standards.md b/.clinerules/01-django-standards.md new file mode 100644 index 0000000..e11459f --- /dev/null +++ b/.clinerules/01-django-standards.md @@ -0,0 +1,14 @@ +Ты эксперт по Django (уровень 2026 года). + +Всегда используй лучшие практики 2026 года: +- Async views и async ORM где это уместно (async def в views, await queryset) +- Pydantic v2 для валидации (особенно в API с DRF или ninja) +- Полные type hints везде (Python 3.11+ / 3.12+ стиль) +- Используй | вместо Union[...] +- Предпочитай dataclass / TypedDict там, где не нужен валидатор +- Django 5.1+ / 5.2 стиль (если версия не указана — последняя стабильная) + +Никогда не используй устаревшие подходы: +- function-based views без веской причины +- serializers без type hints +- старый settings без SECRET_KEY из .env \ No newline at end of file diff --git a/.clinerules/02-project-tech-stack.md b/.clinerules/02-project-tech-stack.md new file mode 100644 index 0000000..f20c7cc --- /dev/null +++ b/.clinerules/02-project-tech-stack.md @@ -0,0 +1,7 @@ +В этом проекте используется: +- Backend: Django (последняя стабильная версия) +- База данных: PostgreSQL 16+ +- Фронтенд / стили: Bootstrap 5 + + +Все пути к статике, медиа, шаблонам — стандартные Django. \ No newline at end of file diff --git a/.clinerules/03-planning-and-workflow.md b/.clinerules/03-planning-and-workflow.md new file mode 100644 index 0000000..de084ad --- /dev/null +++ b/.clinerules/03-planning-and-workflow.md @@ -0,0 +1,6 @@ +Планируй задачи перед любым действием: +1. Прочитай запрос пользователя полностью. +2. Проанализируй текущий контекст проекта. +3. Составь чёткий план (нумерованный список шагов). +4. Покажи план пользователю и спроси подтверждение, если задача > 3 шагов. +5. Выполняй по одному шагу, запрашивая разрешение на изменение файлов / запуск команд. \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..82f6523 --- /dev/null +++ b/.gitignore @@ -0,0 +1,86 @@ +# ---> Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Django +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal +media/ # Пользовательские загружаемые файлы +staticfiles/ # Собранные статические файлы (collectstatic) +*.pot + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# VS Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# PyCharm +.idea/ +*.iml +*.iws +*.ipr + +# OS +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Testing and coverage +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ +htmlcov/ + +# Security +secrets.py +*.pem +*.key + +# Temporary and development +*.swp +*.swo +*~ +.project \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3b8ddd2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,18 @@ +MIT License + +Copyright (c) 2026 ack + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3a528d --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# ProdManager + +Production Management System (Mini-MES) + +Django-приложение для оперативного управления и контроля производственными процессами на уровне цеха или участка. + +## Описание проекта + +Это веб-приложение для управления производственным процессом предприятия, специализирующегося на изготовлении металлоконструкций. Система позволяет управлять изделиями, их сборочными деревьями, технологическими маршрутами и ресурсами. + +### Основные функции + +- Управление изделиями (деталями и сборочными единицами) +- Создание и управление сборочными деревьями (иерархия изделий) +- Технологические маршруты с указанием операций и трудоемкости +- Учет материалов и ресурсов +- Расчет трудоемкости и необходимых материалов для производства + + + + + + +📋 Ключевая функциональность +Приложение помогает автоматизировать и контролировать ежедневные производственные задачи: + +📊 Учёт продукции: Отслеживание выпуска, остатков, брака. + +🗺️ Технологические карты: Создание и хранение поэтапных инструкций для изготовления изделий. + +📝 Сменные задания: Формирование и выдача задач на смену, контроль их выполнения. + +🛒 Планирование закупок: Автоматический расчёт потребности в сырье, материалах и комплектующих на основе производственного плана. + +📈 Базовый контроль: Мониторинг выполнения плана и ключевых показателей (KPI) в реальном времени. + +🎯 Цель проекта +ProdManager — это облегчённая (Lite) версия полноценной системы MES (Manufacturing Execution System), предназначенная для небольших и средних производств, которые хотят внедрить цифровое управление цехом без сложностей и затрат на крупные корпоративные системы. + +🛠️ Технологический стек +Backend: Django (Python) + +Frontend: HTML, CSS, JavaScript (шаблоны Django, может быть расширен с помощью React/Vue) + +База данных: PostgreSQL (рекомендуется) / SQLite (для разработки) + +Контроль версий: Git + +🚀 Быстрый старт (для разработки) +Клонируйте репозиторий: + +bash +git clone https://github.com/ваш-username/ProdManager.git +cd ProdManager +Создайте и активируйте виртуальное окружение: + +bash +python -m venv venv +source venv/bin/activate # Для Linux/Mac +# или +venv\Scripts\activate # Для Windows +Установите зависимости: + +bash +pip install -r requirements.txt +Примените миграции: + +bash +python manage.py migrate +Создайте суперпользователя: + +bash +python manage.py createsuperuser +Запустите сервер разработки: + +bash +python manage.py runserver +Откройте браузер и перейдите по адресу: http://127.0.0.1:8000 + +📁 Структура проекта +(Структура будет обновлена по мере разработки) + +text +ProdManager/ +├── core/ # Основные настройки проекта +├── production/ # Приложение "Производство" (учёт, карты, задания) +├── materials/ # Приложение "Материалы и закупки" +├── reports/ # Приложение для отчётов и аналитики +├── templates/ # Глобальные шаблоны +└── static/ # Статические файлы +🤝 Вклад в проект +Вклады приветствуются! Если у вас есть предложения по улучшению, пожалуйста: + +Сделайте форк репозитория. + +Создайте ветку для своей функции (git checkout -b feature/amazing-feature). + +Зафиксируйте изменения (git commit -m 'Add some amazing feature'). + +Отправьте в ветку (git push origin feature/amazing-feature). + +Откройте Pull Request. + +📄 Лицензия +Распространяется под лицензией MIT. См. файл LICENSE для подробностей. \ No newline at end of file