Добавить Описание проекта v.1

2026-09-24 10:30:22 +00:00
parent 2cc2be1d69
commit 7d4ae07a3d
@@ -0,0 +1,92 @@
# ТЕХНИЧЕСКОЕ ЗАДАНИЕ: Система управления юридическими процессами (на примере процедур банкротства)
## 1. Общий скелет приложения (Базовая архитектура и сущности)
**Цель:** Создать фундамент системы, обеспечивающий многопользовательскую работу, изоляцию данных и масштабируемость.
**1.1. Основные сущности (Модель данных):**
* **Пользователь (User):** Физическое лицо (Администратор, Юрист/Арбитражный управляющий, Помощник).
* **Должник (Debtor):** Физическое или юридическое лицо, в отношении которого ведется процедура. Включает реквизиты, паспортные данные, имущество, счета, сведения о сделках.
* **Процесс/Процедура (Process/Case):** Юридическая процедура (например, банкротство). Привязывается к одному Должнику. Включает номер судебного дела, статус, дату начала, назначенного Юриста.
* **Задача (Task):** Единица работы. Привязана к Процессу, Этапу, Исполнителю и имеет дедлайн.
* **Документ (Document):** Файл или сгенерированный шаблон. Привязан к Процессу и Типу документа.
**1.2. Архитектура и технологии:**
* **Клиент-серверная архитектура:**
* *Backend:* REST API (или GraphQL) для взаимодействия с фронтендом и внешними сервисами.
* *Frontend:* SPA (Single Page Application) + реализация **PWA (Progressive Web App)** для возможности установки на десктоп и мобильные устройства (как в исходном документе).
* **База данных:** Реляционная СУБД (PostgreSQL) для строгой связи сущностей (Процессы -> Должники -> Задачи).
**1.3. Ролевая модель и права доступа (RBAC):**
* **Суперадминистратор:** Доступ к настройке системы, интеграциям, глобальным справочникам.
* **Администратор организации (Партнер/Руководитель):** Управление сотрудниками, распределение прав, просмотр всех процессов.
* **Юрист (Пользователь):** Доступ только к назначенным ему Процедуррам. Возможность создавать задачи, загружать документы, генерировать отчеты.
* *Правило:* Данные по Процедуррам и Должникам жестко изолированы. Юрист не видит процессы, которые ему не назначены.
---
## 2. Функционал работы с задачами (Task & Project Management)
**Цель:** Предоставить администраторам гибкий конструктор процессов, а пользователям — удобные интерфейсы для ежедневной работы.
**2.1. Админ-панель (Конструктор процессов):**
* **Управление Этапами (Блоками):** Администратор создает этапы (например, «Анализ финансового состояния», «Подготовка к торгам», «Завершение процедуры»).
* **Управление Типами задач:** Создание справочника задач с дефолтными настройками (название, описание, стандартный срок выполнения в днях от начала этапа, ответственный по умолчанию).
* **Настройка Автоматизации (Триггеры и Связи):**
* *Триггер создания:* При создании Процесса -> автоматически создать Набор задач (Чек-лист).
* *Зависимости (Связи):* Если Задача А переведена в статус «Выполнена» -> автоматически создать Задачу Б.
* *Внешние триггеры:* При получении данных из гос. реестров (КАД, ЕФРСБ) -> создать специфическую задачу (например, «Подготовить отзыв на требование кредитора»).
**2.2. Пользовательские интерфейсы (3 вида отображения):**
* **Проджект-менеджер (Внутри карточки Процеса):** Задачи сгруппированы по Этапам. Отображается прогресс-бар этапа. Просроченные задачи и этапы подсвечиваются красным. Рядом с задачей счетчик дней до/после дедлайна.
* **Таск-менеджер (Глобальный список):** Агрегация всех задач по всем Процедуррам юриста. Фильтры: Тип задачи, Статус (Активные, Просроченные, Выполненные), Должник.
* **Календарь:** Визуализация задач по дням/неделям/месяцам на основе дедлайнов.
**2.3. Жизненный цикл задачи:**
* Статусы: *Ожидает, В работе, Выполнена, Просрочена*.
* При отметке «Выполнена» система обязывает (или предлагает) заполнить краткий отчет/комментарий и прикрепить файл-подтверждение.
---
## 3. Загрузка и хранение документов (Document Management)
**Цель:** Организовать централизованное хранилище с привязкой к контексту и автоматической реакцией на загруженные файлы.
**3.1. Механика загрузки:**
* Пользователь выбирает **Процесс** -> выбирает **Тип документа** (например, «Банковская выписка», «Договор купли-продажи», «Судебный акт») -> загружает файл.
* Поддерживаемые форматы: PDF, DOCX, XLSX, CSV (для выписок), изображения.
**3.2. Хранение и синхронизация:**
* Локальное хранение на сервере + дублирование в облако (интеграция с **Яндекс.Диск** по API).
* Автоматическая структура папок в облаке: `dolg.expert / [Название Процеса] / [Тип документа] /`.
**3.3. Автоматизация на основе загруженных документов (Event-driven):**
* *Парсинг CSV:* При загрузке банковской выписки (CSV) система парсит файл, создает записи в таблице «Движение денежных средств» и автоматически ставит задачу Юристу «Провести анализ подозрительных операций».
* *Парсинг судебных актов:* При загрузке PDF с определением суда, система (с помощью базового NLP или ручного маппинга админа) создает задачу «Включить требование в реестр» или «Подготовить жалобу».
* *Контроль сроков:* Если загружен документ с исходящей датой (например, уведомление о собрании кредиторов), система автоматически ставит задачу-дедлайн на дату из документа.
---
## 4. Шаблонизатор создания документов (Document Generator)
**Цель:** Исключить рутину по составлению типовых процессуальных документов, обеспечив их единообразие и скорость генерации.
**4.1. Админ-панель (Настройка шаблонов):**
* Загрузка базовых файлов в формате `.docx`.
* **Разметка переменных:** Администратор выделяет в тексте места для подстановки данных, используя теги (например, `{{Должник.ФИО}}`, `{{Процесс.НомерДела}}`, `{{Должник.Адрес}}`, `{{ТекущаяДата}}`).
* Настройка пакетной генерации (возможность сгенерировать сразу 5-10 документов для одного этапа процедуры).
**4.2. Пользовательский интерфейс (Генерация):**
* Пользователь находится в карточке Процеса -> открывает «Генератор документов».
* Выбирает нужные шаблоны из списка (список фильтруется по текущему Этапу Процедуры).
* Система автоматически подставляет данные из карточки Должника и Процеса в теги шаблона.
* Пользователь нажимает «Скачать» (получает DOCX или PDF) или «Скачать архивом».
**4.3. Продвинутые функции (Опционально, но желательно):**
* **Факсимиле:** Автоматическая вставка изображения подписи Arbitration Manager в нужные места документа.
* **Интеграция с ЭЦП (CryptoPro):** Возможность скачать документ сразу с присоединенной электронной подписью (.sig) для отправки контрагентам или в суд.
---
## Дополнительные требования (Скрытые в исходном документе)
При разработке необходимо заложить архитектурные возможности для следующих интеграций (указать в бэклоге на 2-ю и 3-ю очередь):
1. **Интеграция с гос. реестрами (API):** КАД (kad.arbitr.ru), ЕГРЮЛ и ФИАС (DaData.ru) для автозаполнения карточек.
2. **Система уведомлений:** Внутренняя панель (колокольчик) + Email-рассылка по Cron (раз в сутки) + PUSH-уведомления в PWA.
3. **Мониторинг дедлайнов:** Фоновый скрипт, который ежедневно проверяет задачи и меняет их статус на «Просрочена», а также формирует отчет для рассылки.