161 lines
7.7 KiB
Markdown
161 lines
7.7 KiB
Markdown
# Техническое задание MVP: ERP для мастеров
|
||
|
||
## 1. Концепция продукта
|
||
|
||
**Название:** ERP для мастеров
|
||
**Позиционирование:** "Умный учет для мастеров — от хаоса к порядку без лишних затрат"
|
||
**Целевая аудитория:** Микропроизводства и мастерские 1-15 человек
|
||
|
||
### 1.1 Ключевая ценность MVP
|
||
Превращение хаотичного хранения в организованную систему с QR-адресацией и мобильным сканированием.
|
||
|
||
### 1.2 Целевые вертикали
|
||
- Мебельные/столярные мастерские
|
||
- Ювелирные производства
|
||
- Кондитерские/пекарни
|
||
- Мастерские по ремонту
|
||
|
||
### 1.3 Пользовательские сценарии
|
||
|
||
```mermaid
|
||
journey
|
||
title Пользовательский сценарий: Организация склада
|
||
section Настройка
|
||
Создание организации: 5: Мастер
|
||
Выбор шаблона помещения: 4: Мастер
|
||
Настройка размеров: 3: Мастер
|
||
Генерация QR-кодов: 5: Система
|
||
Печать этикеток: 4: Мастер
|
||
section Использование
|
||
Сканирование QR-кода: 5: Мастер
|
||
Размещение товара: 4: Мастер
|
||
Поиск товара: 5: Мастер
|
||
Перемещение товара: 3: Мастер
|
||
```
|
||
|
||
---
|
||
|
||
## 2. Функциональные требования MVP
|
||
|
||
### 2.1 Модуль организации складского пространства
|
||
|
||
#### 2.1.1 Шаблоны помещений
|
||
**Требования:**
|
||
- 3 готовых шаблона: Гараж, Мастерская, Склад
|
||
- Автоматическая генерация мест хранения из шаблона
|
||
- Простая настройка размеров помещения
|
||
- Возможность добавления/удаления элементов мебели
|
||
|
||
**Адресация мест:**
|
||
- Шкафы: Шкаф-Полка-Ячейка (Ш1-П2-Я3)
|
||
- Напольное хранение: Зона-Участок (З1-У2)
|
||
- Столы: Стол-Элемент (С1-Я1, С1-Пов)
|
||
|
||
#### 2.1.2 QR-маркировка
|
||
**Требования:**
|
||
- Генерация уникальных QR-кодов для каждого места
|
||
- Кодирование в QR: ID места, адрес, координаты
|
||
- Печать этикеток на обычном принтере (A4) на фронтенде (pdfmake/jsPDF)
|
||
- Сетка этикеток на лист с предварительным просмотром
|
||
|
||
#### 2.1.3 Виртуальная карта
|
||
**Требования:**
|
||
- Схематичный вид расположения мест
|
||
- Цветовое кодирование загруженности:
|
||
- Зеленый: свободно
|
||
- Желтый: частично заполнено
|
||
- Красный: переполнено
|
||
- Интерактивность: клик на место → список товаров
|
||
|
||
### 2.2 Мобильное приложение (Angular PWA)
|
||
|
||
#### 2.2.1 Сканирование QR-кодов
|
||
**Требования:**
|
||
- Сканирование камерой телефона через @zxing/ngx-scanner
|
||
- Распознавание QR-кодов в реальном времени
|
||
- Автоматический переход к операции с местом
|
||
- Обработка ошибок сканирования
|
||
|
||
#### 2.2.2 Быстрые операции
|
||
**Требования:**
|
||
- Размещение товара: сканирование места → выбор товара → подтверждение
|
||
- Поиск товара: сканирование места → показ списка товаров
|
||
- Перемещение: сканирование места откуда → сканирование места куда → выбор товара
|
||
- Управление состоянием через сервисы Angular (без NgRx в рамках MVP)
|
||
|
||
### 2.3 Справочники
|
||
|
||
#### 2.3.1 Товары
|
||
**Требования:**
|
||
- Создание товара: название, описание, категория
|
||
- Редактирование товара
|
||
- Поиск по названию или описанию
|
||
- Категории: Сырье, Готовая продукция, Инструменты, Расходники
|
||
|
||
#### 2.3.2 Места хранения
|
||
**Требования:**
|
||
- Иерархическая структура: помещение → зона → место
|
||
- Характеристики места: тип, размеры, ограничения
|
||
- Статус места: свободно, занято, зарезервировано
|
||
|
||
### 2.4 Операции
|
||
|
||
#### 2.4.1 Размещение товаров
|
||
**Требования:**
|
||
- Выбор товара из справочника
|
||
- Выбор места размещения
|
||
- Указание количества
|
||
- Автоматическое обновление статуса места
|
||
- Валидация в Core Service (REST API)
|
||
|
||
#### 2.4.2 Поиск товаров
|
||
**Требования:**
|
||
- Поиск по названию товара
|
||
- Поиск по адресу места
|
||
- Поиск по категории
|
||
- Результат: список мест с товарами
|
||
- Оптимизация поиска за счёт индексов БД (без Redis в MVP)
|
||
|
||
### 2.5 Генерация документов (MVP)
|
||
|
||
**Подход:** Без отдельного Document Service. Генерация PDF этикеток выполняется на фронтенде (pdfmake/jsPDF). Excel/Word и серверная генерация документов — Post‑MVP.
|
||
|
||
---
|
||
|
||
## 3. Нефункциональные требования
|
||
|
||
### 3.1 Производительность
|
||
- Время отклика API: ≤ 200мс
|
||
- Время загрузки PWA: ≤ 3 секунды
|
||
- Поддержка до 1000 товаров на организацию
|
||
|
||
### 3.2 Безопасность
|
||
- JWT аутентификация
|
||
- Organization-scope на всех данных
|
||
- HTTPS для всех соединений
|
||
- Валидация входных данных
|
||
|
||
### 3.3 Удобство использования
|
||
- Мобильно-ориентированный интерфейс
|
||
- Интуитивная навигация
|
||
- Минимум кликов для основных операций
|
||
- Обработка ошибок с понятными сообщениями
|
||
|
||
---
|
||
|
||
## 4. Технические ограничения
|
||
|
||
### 4.1 Что НЕ реализуется в MVP
|
||
- Computer Vision (распознавание чеков)
|
||
- Сложная аналитика и отчеты
|
||
- Офлайн режим работы
|
||
- Интеграции с внешними системами
|
||
- 3D визуализация
|
||
- Гибкие производственные сценарии
|
||
|
||
### 4.2 Упрощения для MVP
|
||
- Вместо графического редактора: готовые шаблоны
|
||
- Вместо умных подсказок: базовые правила размещения
|
||
- Без offline-функциональности: допускается только кэширование статических ресурсов PWA
|
||
- Вместо CV чеков: ручной ввод с автодополнением
|