Как стать автором
Обновить

Панель настроек без программирования

Время на прочтение2 мин
Количество просмотров2.3K
Привет,

Это небольшой сервис, призванный решить проблему конфигурации чего угодно. Если точнее, конфигурации чего-либо подключённого к интернету, которую можно представить в виде достаточно ветвистого объекта, доставляемого в виде JSON.

Проблема


Программам нужно хранить и использовать разновидность данных, известные как «настройки», или «конфигурация». Что это за данные?

  • они не очень хорошо структурированы
  • их не очень много, часто не более сотни значений
  • их нужно давать редактировать («админский интерфейс»)
  • приложение должно быть в курсе изменений.


Что мы можем для этого придумать, и почему оно не годится?


  • Реляционная база. Табличная структура малопригодна для россыпи несвязанных данных. Интерфейс отсутствует.
  • Хранить установки вместе с кодом. Структура может быть любая, но интерфейсом пользователя будет разговор с разработчиком.
  • Хранить установки в текстовом файле. Разновидность предыдущего подхода. Попробуйте научите нормального человека редактировать YAML.
  • Воспользоваться сторонним сервисом, вроде Google Data API. Будет работать, но оверхед будет ужасен, а скорость черепашья.


Собственно, сервис.
image


Несложная логика работы:

Регистрируемся, выбираем свободное имя для схемы (это называется «seed»). Имена общие для всех, так как они будут поддоменами. Наполняем схему содержимым в конструкторе форм:

image

Для каждого значения выбираем тип, имя поля, и то, что будет на экране в форме редактирования.

Автоматически получаем одну ипостась (instance) этой схемы (каждая ипостась это «tree») под названием main. Можно сделать несколько, например, для тестов или среды разработки. Назначаем пароль для каждого дерева.

Данные каждой ипостаси доступны человеку, для редактирования, по адресу https://<имя схемы>.config.ly
  • логин: имя ипостаси («main», если вы ничего не меняли)
  • пароль: тот, который вы задали в конфигурации.


Так как создавать свою схему вам лень (мне бы было), а интерфейс посмотреть хочется, можно зайти на готовое:

Данные также доступны на чтение бездушному боту через HTTPS GET api.config.ly с Basic Authentication:
  • юзернейм: имя схемы
  • пароль: API key, который был сгенерирован для дерева, и который можно посмотреть при редактировании схемы.


И опять же, можно сразу попробовать:

curl -k -u primer:yV7mkhNRs00tM2nTdKuEWV2a api.config.ly

Итого


Что же у нас получилось? Просто хранилище JSON объектов, к которому приделан минимальный удобный интерфейс редактирования. Возможно, это избавит вас от написания очередной админской панели.

Отзывы и конструктивная критика с благодарностью принимаются.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Каково первое впечатление?
4.85% Джва года ждал такой сервис!15
19.42% Любопытно, может пригодиться.20
35.92% Я не доверяю свои данные абы кому.37
2.91% Нужно больше функционала: API на запись, пользовательские стили и пр. (в комментариях)3
0.97% Центр управления НЛО требует интерфейс к базе данных!1
35.92% Реально, какая-то фигня.37
Проголосовали 103 пользователя. Воздержались 44 пользователя.
Теги:
Хабы:
Всего голосов 11: ↑6 и ↓5+1
Комментарии5

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн