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

Сайт
Ссылка не опубликована согласно соглашению о конфиденциальности

О заказчике

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

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

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

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

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

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

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