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

90 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# not ready yet
# О репозитории
Данный проект представляет собой shiny-приложение (написанное на языке программирования R), для заполнения каких-то данных и возможностью последующего экспорта данных в `.xlsx`.
Структура полей для заполнения (соответственно и базы) описывается файлом `schema.xlsx`, что позволяет быстро и читаемо сформировать необходимую для себя структуру.
Заполненные данные хранятся локально с использованием `SQLite`. Так же возможно использование других баз данных (например `PostgreSQL`), однако это требует некоторой модификации кода.
# Зачем?
...
# Quick start
## локально:
Копирование содержимого репозитория
```bash
git clone https://gitea.madelirihs.ru/madeliri/shiny_form.git
```
Восстановление окружения
```r
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" в базе. Потенциально возможно добавление опции при экспорте для корректного экспотра числовых значений.