Files
shiny_form/README.md
2026-04-21 14:13:28 +03:00

4.4 KiB
Raw Blame History

not ready yet

О репозитории

Данный проект представляет собой shiny-приложение (написанное на языке программирования R), для заполнения каких-то данных и возможностью последующего экспорта данных в .xlsx.

Структура полей для заполнения (соответственно и базы) описывается файлом schema.xlsx, что позволяет быстро и читаемо сформировать необходимую для себя структуру.

Заполненные данные хранятся локально с использованием SQLite. Так же возможно использование других баз данных (например PostgreSQL), однако это требует некоторой модификации кода.

Зачем?

...

Quick start

локально:

Копирование содержимого репозитория

git clone https://gitea.madelirihs.ru/madeliri/shiny_form.git

Восстановление окружения

renv::init()

Насторйки

переменные окружения

работа с авторизацией

Пароль базы данных с авторизацией необходимо указать в .Renviron:

AUTH_DB_KEY = "this_is_your_password"

бэкапы локальных баз

Для создания бэкапов локальных баз данных, необходимо указать путь куда будут сохранятся бэкапы в переменной окружения:

FORM_APP_LOCAL_DB_BACKUP_PATH="path_to_backups"

Проверка осуществляется при каждом запуске приложения, бэкапы создаются раз в день (при первом запуске).

Количество сохраняемых бэкапов:

FORM_APP_LOCAL_DB_BACKUP_LIMITS=3

руктура schema.xlsx

Файл, формирующий структуру всей формы, представляет собой таблицу в формате .xlsx, состоящий из следующих столбцов:

  • part - группировка первого уровня (страницы), используется только в главной схеме ('main');
  • subgroup - группировка второго уровня (колонки);
  • form_id - id формы;
  • form_label - Название формы;
  • form_description - Описание формы;
  • form_type - тип формы, в настоящее время доступные следующие варианты:
    • text - простой текст;
    • number - число;
    • date - дата;
    • select_one - выбор одного варианта (выпадающий список);
    • select_multiple - выбор нескольких вариантов (выпадающий список);
    • radio - выбор одного варианта (radio buttons);
    • checkboxes - выбор нескольких вариантов (checkboxes);
    • description - описание (отображение текста, без формы выбора/ввода);
    • description_header - для отображение заголовка;
    • nested_forms - вложенная форма;
  • choices - варианты выбора (если предполагаются типом формы ввода);
  • condition - условие, при котором форма ввода будет отображаться;
  • required - проверка заполненности поля: пустое значение - нет проверки, 1 - есть проверка

Первый по порядку id для каждой схемы является ключевой (!)

Как пользоваться

Авторизация

trade-ofs

экспорт данных

Числовые значения выгружаются в xlsx в виде текстовых значений, чтобы сохранить указаные "NA" в базе. Потенциально возможно добавление опции при экспорте для корректного экспотра числовых значений.