«СофтСтек.Реестр» — это система для создания, настройки и эксплуатации информационных решений, предназначенных для ведения реестров данных и нормативно-справочной информации.
Цель разработки системы:
Обеспечить удобное создание и гибкое управление метаданными, а также связанными с ними пользовательскими экранными формами, что позволяет пользователям структурировать информацию и адаптировать интерфейсы под конкретные потребности и бизнес-логику пользовательского приложения без привязки к конкретной предметной области.
Ключевые функции системы:
- Система позволяет спроектировать необходимую структуру данных, включая создание различных специализированных сущностей, их атрибутов и связей между ними, а также обеспечивает дальнейшее управление полученной схемой без остановки работающего пользовательского приложения.
- Система обеспечивает управление версиями схем данных с разделением по отдельным «веткам» разработки и возможностью легкого переключения между ними. Все изменения выполняются в новой версии, созданной на основе выбранной, и могут быть автоматически применены в работающем приложении за счёт механизма автоматической миграции схемы данных.
- Система обеспечивает разработку всех необходимых пользовательских экранных форм на основе настроенной схемы данных с помощью интуитивно понятного конструктора, включая настройку элементов интерфейса и валидацию данных.
- Система позволяет настраивать навигацию и маршруты внутри приложения, задавая структуру меню и переходов между экранами приложения.
- Система поддерживает высокую нагрузку и работу с миллионами объектов благодаря архитектуре, изначально спроектированной с учётом горизонтальной масштабируемости, что позволяет при необходимости увеличивать производительность за счет добавления узлов без изменения архитектуры и остановки работы.
Задачи, решаемые с помощью системы:
- Настройка структуры данных под конкретные цели и задачи пользовательского приложения.
- Создание экранных форм приложения — как списочных, так и детальных — на основе полученной структуры, а также соответствующих элементов навигации.
- Изменение структуры данных без остановки работы приложения, благодаря встроенному механизму миграции схем.
Программное обеспечение предназначено для:
- Проектирования структур данных и пользовательских интерфейсов без программирования.
- Создания полноценных приложений для ведения реестров любой сложности и специализации.
- Работы с большими объёмами данных и высокой нагрузкой на систему.
Стек технологий
Языки и среды исполнения:
- .NET 9 — платформа для разработки серверного программного обеспечения;
- Node.js — кроссплатформенная среда для выполнения JavaScript на сервере.
Хранение и управление данными:
- PostgreSQL — реляционная СУБД;
- Cassandra — распределённая NoSQL СУБД;
- KeyDB — высокопроизводительная in-memory база данных;
- Kafka — платформа потоковой передачи данных;
- RabbitMQ — брокер сообщений;
- Ceph / MinIO — распределённые системы хранения данных.
Управление доступом и безопасностью:
- Keycloak — система идентификации и управления доступом (IAM).
Контейнеризация и оркестрация:
- Kubernetes — платформа управления контейнеризированными приложениями;
- containerd — высокоуровневая среда выполнения контейнеров;
- Istio — сервисная mesh-платформа для управления микросервисами;
- HAProxy / Nginx — серверные ПО для балансировки нагрузки и проксирования.
Мониторинг, логирование и трассировка:
- Prometheus — система мониторинга метрик;
- Grafana — визуализация мониторинговых данных;
- Loki — система агрегации логов;
- Promtail — агент сбора логов;
- Tempo — система распределённой трассировки.
Скриншоты
Документы
Руководство пользователя (2.9 Мб)
Инструкция по установке (SAAS) (36 Кб)
Описание процессов, обеспечивающих поддержание жизненного цикла (64 Кб)