Разбор задачи

Личный кабинет организации для подачи отчётности и заявок ведомству

Организация видит, принят ли её отчёт и что исправить, а ведомство получает проверенные данные, а не файлы

Проверяется: контрольный пакет отчётов и прогон прав

ГоссекторРаботаем по NDA

Задача

Подведомственные организации раз в период присылают отчёты: таблицы, сканы, письма. Сотрудники ведомства вручную проверяют форматы, возвращают на исправление, сводят данные. Организации не знают, принят ли отчёт и что в нём не так, и звонят в отдел.

Где ломается

Что съедает срок и бюджет на самом деле

Кабинет здесь окно в процесс приёма. Вот что определяет его сложность.

Формы меняются каждый период

если форма вшита в код, каждое изменение требует разработки. Формы и проверки должны описываться данными.

Проверки на входе

арифметические и логические проверки до отправки экономят недели переписки. Ошибки должны показываться организации сразу и понятно.

Права организации

каждая организация видит только свои подачи, а сотрудники ведомства только свои направления. Права проверяет сервер на каждый запрос.

Подпись и вложения

отчёт может требовать электронной подписи и приложенных документов. Подпись подключается через средство, которое уже используется у вас.

Ограничение, которое определяет решение

Кабинет и данные находятся в контуре ведомства или на выбранном им хостинге. Средства электронной подписи и их сертификация остаются на стороне заказчика, мы подключаем то, что у вас используется. Аттестацию системы и лицензируемые работы по защите информации мы не проводим.

Как проверить, что работа сделана

Контрольный пакет: набор заранее подготовленных отчётов с известными ошибками, система должна найти их все и не придираться к верным.

Прогон прав: из-под учётной записи одной организации пробуем открыть данные другой, и сервер должен отказать.

История: у каждой подачи видны версии, статусы, замечания и ответственный, и они совпадают с журналом отдела.

О чём спросить любого подрядчика

  • Как описываются формы и проверки и кто может их менять без разработчика.
  • Что видит организация при ошибке и как исправляет.
  • Как подключается электронная подпись.
  • Как данные попадают в систему ведомства и кто отвечает за выгрузку.
  • Как проверяются права между организациями.
Порядок работ

Как мы идём по этапам

На каждом этапе назван результат, который остаётся у заказчика. Остановиться можно после любого.

  1. Формы и правилаСобираем действующие формы и проверки. Результат: описание форм данными и перечень проверок.
  2. Роли и праваОпределяем роли организации и сотрудников ведомства. Результат: матрица ролей.
  3. ПрототипПоказываем нескольким организациям и сотрудникам, правим до кода.
  4. Разработка и выгрузкаКабинет, проверки, статусы, история, выгрузка в систему ведомства. Показываем рабочую версию раз в две недели.
  5. Запуск с группой организацийПодключаем небольшую группу, смотрим обращения и ошибки, расширяем. Передаём код, инструкции и регламент.
Архитектура и стек

Как это обычно устроено внутри

Типовая схема: веб-приложение, формы и проверки описываются данными и версионируются по периодам, подачи хранятся с историей, права проверяются на сервере. Выгрузка в систему ведомства идёт через очередь с журналом, электронная подпись подключается внешним средством.

Типовой стек
  • PostgreSQL
  • REST API
  • Описание форм данными
  • Очередь задач
  • LDAP
  • Docker

Похожая задача у вас?

Разберём её на созвоне за 40 минут: назовём объём работ, ограничения контура и по каким числам вы будете принимать результат. Если задача не наша — скажем прямо.