Инструментарий

Чем работаем и почему именно этим

Один набор на все проекты: отступление от него требует обоснования.

01ядро

Node.js 22 и Fastify

Серверная часть. Входные данные проверяются по схемам до того, как попадут в код; каждый модуль системы – отдельный подключаемый блок со своим адресом в API.

02ядро

PostgreSQL 16 с RLS

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

03ядро

Flutter

Мобильные приложения: iOS, Android и веб из одной кодовой базы. Один код и одна команда на все платформы – правки выходят везде одновременно.

04ядро

React и Vite

Веб-интерфейсы внутренних систем: реестры, карточки, журналы. Строгая типизация TypeScript и сборка за секунды – ошибки ловятся до запуска.

05эксплуатация

Docker Compose, nginx, Let's Encrypt

Одинаковое окружение на стенде и в эксплуатации; сертификаты продлеваются сами. Выпуск – замена контейнеров по описанию из репозитория.

06эксплуатация

Selectel, Москва

Серверы, резервные копии и DNS – в России. Персональные данные не покидают страну; вход администраторов – по ключам и со вторым фактором.

07качество

Непрерывная интеграция

Каждое изменение проходит автоматическую сборку и тесты; в репозитории внутренней платформы – ещё линтер и проверку на персональные данные в коде. Без этого изменение не принимается.

08эксплуатация

Резервное копирование

Ежедневно, с выгрузкой за пределы сервера и проверкой восстановления. Копии зашифрованы, ключ хранится отдельно от них; глубина хранения – 14 дней.

09ИИ

Коннектор MCP

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

10ИИ

Эталонные наборы

Ответы моделей проверяются на заранее подготовленных примерах, как обычные тесты: изменение модели или запроса не проходит незаметно.

11качество

Зависимости

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

12код

SourceCraft

Репозитории – в российском сервисе, приватные. В основную ветку изменения попадают только через запрос и проверки; на сервер код приходит из своего зеркала.

Языки программирования

JavaScript и TypeScript, Dart, Python, SQL.

Этот сайт

Статические файлы на нашем сервере. Без счётчиков, внешних шрифтов, сторонних скриптов и cookie.