Система управления перепиской и финансами с критичными требованиями к безопасности

О проекте

В исправительных учреждениях общение заключенных с внешним миром регламентируется строгими правилами. Это касается переписки с родственниками, собственных финансов, покупки лекарственных препаратов и других аспектов жизни в колонии.

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

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

Цель проекта

Главная задача разработки нашей экосистемы — создать сеть поддержки, чтобы повысить качество жизни заключенных, ускоряя процесс социальной адаптации и перевоспитания. Для персонала учреждений — автоматизировать обработку запросов и корреспонденции, повысить надежность соблюдения регламентов.

Ключевая особенность

Для такой строго регламентируемой сферы, как работа исправительных учреждений, ключевой особенностью является необходимость контроля соблюдения законов и правил. Важным требованием было обеспечить прохождение цензуры при всех видах общения заключенных с внешним миром.

Решение

Система спроектирована как набор нескольких независимых сервисов, способных коммуницировать друг с другом.

Цензоры просматривают письма и слушают звонки с помощью десктопного приложения.

Личный кабинет для операций с денежными средствами и проведения формальных процедур.

Приложение для заключенных на стационарном планшете с ограниченным доступом к функционалу.

Сервис для переписки и звонков. Для родственников доступ организован через веб и мобильный интерфейс.

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

Технологии реализации

Java

JS/CSS/HTML

Git

MySQL

GitLab CI/CD

Apache Tomcat

SPA

React

GWT 1.x

Swift

UIKit

WebRTC

(VoxImplant)

RX Java/Android

PhpStorm (IDE)

Nginx/Apache

PHP

Symfony

Redis

RabbitMq

Docker

golang

ReactJS + Typescript

Клиентская часть

MySQL

Система управления базами данных, используемая приложением

Apache Tomcat

Веб-сервер, на котором запускается приложение

GWT 1.x

Фреймворк для интерфейса администратора

VoxImplant

Интернет аудио- и видеозвонки

KNOX

Приложение заключённых

AbbY Lingvo

Распознавание текста

Docker и Gitlab CI/CD

Средства развертывания и поставки

PHP

Telegram бот

Стандартный функционал

Автоматизация управления сообщениями разных типов

Заключенному можно позвонить по аудио или видеосвязи, отправить электронное письмо или написать сообщение через наше мобильное приложение и чат-бот.

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

Внутренняя финансовая система, интегрированная с популярными платежными инструментами.

Пользователь может оплачивать услуги сервиса с помощью Системы быстрых платежей (СБП), отсканировав QR-код с экрана, по реквизитам банковской карты, с помощью виртуальной карты или через списание с баланса личного кабинета.

Безопасное хранение информации

Поступающие письма, сообщения, фото и видео обрабатываются, цензурируются и сохраняются в системе без утечки информации и потери данных.

Онлайн-магазин для заказа лекарств

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

Идентификация документов по QR-коду

Заключенные пишут письма на бумаге от руки. Чтобы доставить письмо, цензору приходилось разбирать почерк и искать адресата в базе. Для упрощения этой работы и снижения вероятности человеческой ошибки, система автоматически создает пустой бланк для письма с уникальным QR-кодом, по которому впоследствии происходит идентификация и отправка.

Интернет-звонки с сохранением записи

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

Настройка доступа и общение через Telegram

Мы разработали Telegram бот, который даёт родственникам возможность без скачивания дополнительных приложений получить доступ к сервису и общаться со своими близкими в учреждении. Бот отправляет сообщения на проверку согласно регламенту и доставляет их только после одобрения цензором.

Специальный функционал

Автоматическое распознавание рукописного текста

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

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

Приложение для устройств с ограниченным доступом

ПО включает отказоустойчивое приложение, которое жестко ограничивает доступный функционал физического устройства и позволяет использовать на нём только сервисы нашей экосистемы. Все обновления приложения осуществляются дистанционно через Samsung KNOX.

Кабинет управления расписанием доступа к сервисам для групп и отдельных лиц

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

Центр принятия решений

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

Статистика

Проектные практики

Работа с группой стэйкхолдеров

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

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

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

Автономность подготовки требований

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

Экосистема

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

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

Прозрачность разработки

Поскольку система состояла из нескольких взаимосвязанных сервисов, планирование загрузки и приоритезация задач осуществлялась на еженедельных звонках, в которых участвовали ответственные по каждому сервису на стороне заказчика и вся команда разработки. Срочные вопросы решались в рабочих чатах. Заказчику был предоставлен доступ к проекту в Jira.

Личная ответственность

Мы проводим офлайн воркшопы и приезжаем на встречи с клиентом. Инновационная разработка для нас – не только техническая экспертиза, но и социальная миссия.