ТЕХНИЧЕСКОЕ ЗАДАНИЕ: Система управления юридическими процессами (на примере процедур банкротства)
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. Хранение и синхронизация:
- Локальное хранение на сервере.
- Автоматическая структура папок в облаке:
root / [Название Процеса] / [Тип документа] /.
3.3. Автоматизация на основе загруженных документов (Event-driven):
- Парсинг CSV: При загрузке банковской выписки (CSV) система парсит файл, создает записи в таблице «Движение денежных средств» и автоматически ставит задачу Юристу «Провести анализ подозрительных операций». На 2-ю и 3-ю очередь.
- Парсинг судебных актов: При загрузке PDF с определением суда, система (с помощью базового NLP или ручного маппинга админа) создает задачу «Включить требование в реестр» или «Подготовить жалобу».
- Контроль сроков: Если загружен документ с исходящей датой (например, уведомление о собрании кредиторов), система автоматически ставит задачу-дедлайн на дату из документа.
4. Шаблонизатор создания документов (Document Generator)
Цель: Исключить рутину по составлению типовых процессуальных документов, обеспечив их единообразие и скорость генерации.
4.1. Админ-панель (Настройка шаблонов):
- Загрузка базовых файлов в формате
.docx. - Разметка переменных: Администратор выделяет в тексте места для подстановки данных, используя теги (например,
{{Должник.ФИО}},{{Процесс.НомерДела}},{{Должник.Адрес}},{{ТекущаяДата}}). - Настройка пакетной генерации (возможность сгенерировать сразу 5-10 документов для одного этапа процедуры).
4.2. Пользовательский интерфейс (Генерация):
- Пользователь находится в карточке Процеса -> открывает «Генератор документов».
- Выбирает нужные шаблоны из списка (список фильтруется по текущему Этапу Процедуры).
- Система автоматически подставляет данные из карточки Должника и Процеса в теги шаблона.
- Пользователь нажимает «Скачать» (получает DOCX или PDF) или «Скачать архивом».
4.3. Продвинутые функции (Опционально, но желательно):
- Факсимиле: Автоматическая вставка изображения подписи Arbitration Manager в нужные места документа.
- Интеграция с ЭЦП (CryptoPro): Возможность скачать документ сразу с присоединенной электронной подписью (.sig) для отправки контрагентам или в суд.
Дополнительные требования (Скрытые в исходном документе)
При разработке необходимо заложить архитектурные возможности для следующих интеграций (указать в бэклоге на 2-ю и 3-ю очередь):
- Интеграция с гос. реестрами (API): КАД (kad.arbitr.ru), ЕГРЮЛ и ФИАС (DaData.ru) для автозаполнения карточек.
- Система уведомлений: Внутренняя панель (колокольчик) + Email-рассылка по Cron (раз в сутки) + PUSH-уведомления в PWA.
- Мониторинг дедлайнов: Фоновый скрипт, который ежедневно проверяет задачи и меняет их статус на «Просрочена», а также формирует отчет для рассылки.