Корпоративный портал государственного концерна

О заказчике

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

Выполненные работы

В ходе проекта были выполнены следующие работы:

  • Произведена полная смена дизайна портала, в частности чата (включая звонки) и диска
  • Реализован фронтенд с компонентным подходом (React), что позволяет соблюсти полное единообразие всего дизайна портала и общность поведения повторяющихся элементов интерфейса
  • Все компоненты доступны в storybook, что позволяет получать информацию о параметрах и возможных вариантах их отображения как разработчику, так и заказчику
  • Реализована flux-архитектура на фронтенде с использованием Redux Toolkit, обеспечивающая однонаправленный поток данных и изолирующая управление состоянием от компонентов, что делает поток данных предсказуемым и позволяет легче проследить причину ошибок
  • Реализована отрисовка страниц на сервере (SSR – server side rendering) на Next.js, что ускоряет первичную загрузку страницы
  • Реализован промежуточный бэкенд (BFF – backend for frontend) на NestJS, что полностью отделяет внешний вид от логики портала и позволяет минимизировать количество запросов от клиента к серверу, а также существенно разгрузить клиентский код от операций над преобразованием данных
  • Весь код фронтенда написан на языке TypeScript (и клиентский, и BFF), что позволяет переиспользовать описание данных (интерфейсы), утилиты и библиотеки в клиентском и серверном коде. При этом внося строгую типизацию, что сильно уменьшает риск возникновения ошибок выполнения
  • Разработана гексагональная архитектура на бэкенде, что минимизирует риски при развитии проекта, т.к. применяемые технологии отделены от бизнес-логики и ввода-вывода
  • Разработан универсальный функционал создания, настройки и просмотра объектов (табличный, галерея, календарь) любой структуры и взаимосвязи. Возможность создания расчётных полей по значениям других (связанных) объектов. Возможности по настраиваемой автоматизации.
  • Реализована расширенная (от RBAC) версия настройки доступа к объектам и гибкая система настройки уведомлений (по каналам, подписка на отдельные объекты, настройка уведомлений для подчинённых)
  • Реализована возможность группового обсуждения объектов в формате чата с рядом дополнительных функций (ведение опросов, ветки диалогов, закреплённые обсуждения, ведение избранного)
  • Настроено и автоматизировано порядка 10 бизнес-процессов заказчика с использованием описанного выше функционала (организация рабочих групп, отчётность, ведение мероприятий, ведедние календаря событий, ведение новостного раздела, учёт и эксплуатация оборудования, ведение поручений и др.)
  • HTTP ввод-вывод организован по спецификациям OpenAPI 3 и JSON:API, что минимизирует количество передаваемых данных, ускоряя ответы портала
  • Настроено четыре кластера серверов, а именно:
  • «Боевой» отказоустойчивый кластер, состоящий из 2-х серверов балансировщиков нагрузки, 2-х серверов приложений и 2-х серверов СУБД
  • «Тестовый» кластер, полностью повторяющий боевую инфраструктуру для целей тестирования в условиях, максимально приближенных к боевым
  • «Кластер разработки», набор виртуальных машин для предварительного тестирования правок и работы разработчиков
  • «Кластер обслуживания», мониторинг на базе Zabbix, система резервного копирования, сервер GitLab и Mattermost

Проект разрабатывался для применения в полностью изолированном интранет-окружении с последующей аттестацией безопасности, что потребовало настройки и тестирования собственных сервисов TURN/STUN для корректной работы видеочата Битрикс24, создания репозиториев ПО, безопасных методов туннелирования и доступа разработчиков к проекту и учета прочих аспектов, без которых нормальное функционирование и обслуживание проекта невозможно.

В связи с проблемами совместимости наложенных систем защиты информации у заказчика с современными операционными системами и с требуемым для работы Битрикс24 программным обеспечением, а так же по дополнительному требованию заказчика, в ходе работ по проекту была проведена работа по импортозамещению операционной системы на «РЕД ОС 7.2с, сертифицированная ФСТЭК версия», которая позволила выполнить требования к безопасности системы и отказаться от использования ряда наложенных систем защиты информации, с которыми возникали проблемы. В ходе проведения работ были успешно выполнены задачи по адаптации «РЕД ОС» под требования «1С-Битрикс24» редакция «Энтерпрайз» с сохранением всего функционала последнего.

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

Похожие проекты