# Описание функциональных характеристик

## Назначение

«Матрёшка» — платформа для создания информационных систем без программирования. Приложение описывается метаданными (порталы, сервисы, формы, компоненты, наборы данных, роли), по которым платформа строит пользовательский интерфейс, права доступа и программный интерфейс (API).

## Функции

| Модуль | Функции |
|---|---|
| Порталы и сервисы | несколько порталов на одной установке; домен, тема оформления, логотип, стартовая страница; публичные и закрытые сервисы |
| Конструктор форм | вложенные вертикальные и горизонтальные контейнеры; таблицы, карточки, поля ввода, графики, карты, файлы, анимации; стили и поведение задаются свойствами |
| Наборы данных | подключение таблиц и представлений PostgreSQL; фильтры, сортировка, редактирование, выгрузка |
| Бизнес-логика | действия на событиях и кнопках; серверные обработчики на Python и Lua; запросы к внешним системам |
| Пользователи и доступ | регистрация, вход, гостевые сессии, организации, роли; права на портал, сервис, форму и действие |
| API | JSON-RPC API к наборам данных и действиям с проверкой токена сессии |
| Матрёшка BI | аналитические панели и отчёты на наборах данных |
| Матрёшка Mobile | мобильные приложения на тех же формах и данных |
| SQL-менеджер | редактирование метаданных и структуры БД PostgreSQL |
| Геокодер | прямое и обратное геокодирование адресов через API |
| ЕГРН-реестр | данные ЕГРН с выгрузкой в SHP, GeoJSON, XLS |
| Модуль СМЭВ | массовое формирование запросов в СМЭВ и обработка ответов |
| Реестр прокси-серверов | ведение актуального реестра прокси для сбора открытых данных |
| Интеграции | ДаДата (подсказки ФИО, адресов, e-mail, организаций); CRM и учётные системы; эквайринг; веб-аналитика |

## Интерфейс

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