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
Cтруктура 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" в базе. Потенциально возможно добавление опции при экспорте для корректного экспотра числовых значений.