Мы — молодая ИТ-компания опытных специалистов разной квалификации, которая реализует ИТ-проекты для госструктур и бизнеса.
В наших платформенных решениях мы стараемся использовать открытые, общедоступные и широко распространенные технологии.
База данных
База данных обычно определяется клиентом, используемые решения, позволяет написать его единожды и запускать с любой и следующих СУБД: PostgreSQL, MS SQL Server, Oracle, Ред База Данных.
Back end
Синергия Java и SpringBoot — базовое решением платформы в части Back End. Внутри SpringBoot-сервисов для взаимодействия с СУБД используется разработанная нами компонента Celesta (https://courseorchestra.github.io/celesta/ru/). Поскольку в наших решениях структура базы данных часто изменяется, мы отказались от версионного подхода с цепочкой миграций. Вместо этого Celesta просто считывает требуемую структуру БД из текстового файла и автоматически генерирует скрипты для приведения ее к требуемому состоянию. Для тестирования платформа использует базу данных H2. Это дает возможность компоненту Celesta решать проблему быстрого запуска модульных тестов.
Front end
Основным компонентом является Vue.js. Также мы разработали собственную библиотеку компонент, которая обеспечивает решение типовых задач.
Настройка решений "на лету"
Для решения задачи декларативного создания пользовательских форм в рамках нашей платформы разработана уникальная типовая спецификация. Она включает в себя возможности определять внешний вид форм, правила автоматизации форм, рабочие процессы (workflow), включая правила электронной подписи.
Для реализации бизнес-логики активно используются шаблонизаторы, обеспечивающие безопасное выполнение бизнес-логики: на сервере — FreeMarker, на клиенте — Nunjucks.
Документирование
Современные решения становятся архитектурно всё сложнее и сложнее. Естественно, требования к документированию только растут. Для ответа на этот вызов мы активно используем стандарт Asciidoctor и автоматическую генерацию документации.
Непрерывная интеграция и доставка приложений
Типовыми средствами, используемыми в наших проектах, являются Jenkins CI и Ansible. Для тестирования активно используется docker. Постепенно переходим к тому, чтобы и продуктивное развертывание осуществлять в контейнеризованной среде K8s.
Прототипирование и UI/UX дизайн
При создании нашей платформы мы приложили много усилий для того, чтобы она была удобной и понятной пользователям, вызывала только положительные эмоции и отвечала всем требованиям пользовательских сценариев. Этот путь нам помогли пройти программные продукты, являющиеся индустриальным стандартом в своих областях. Непосредственно для создания прототипов и дизайна платформы использовались XD и Sketch, взаимодействие с разработчиками обеспечил Zeplin, в создании анимации помогла Anima, качественную подготовку растровых и векторных элементов платформы обеспечили Photoshop и Illustrator.