Инструмент для быстрого клепания панелей
Публичный постВот у меня есть база данных, которая подключена к какому-то серверному приложению. Т.е. там есть куча данных, а приложение эти данные меняет в зависимости от своей логики, или наоборот, меняет свою логику в зависимости от данных. Теоретически, я могу взять какой-то вьювер бд и управлять приложением через него — там заменить true на false, там запросом получить список чего-нибудь (например, активных устройств). Но это неудобно и некрасиво.
Я хочу конструктор панели управления, который бы позволял накидать на веб-страничку стандартные обьекты (переключалки, круды, поля, движки, графики), соеденить их по именам с полями в бд (или указав оконечные точки для апи, которое я реализую на сервере) и собрать это все в виде статики html/js.
Т.е. тоже самое, что я получу, взяв какой-нибудь vue.js с графическим фреймверком, но без возни с версткой всего этого. Чтобы надо было курсором набросать компоненты на форму, описать связи, возможно, написать какую-то минимальную обработку на js, и все.
Такой "миллениалы изобрели MS Access": создали форму, указали связи бд<->элементы, указали бд, готово приложение. Только в вебе и серверлесс.
Раньше была такая мантра https://en.wikipedia.org/wiki/Scaffold_(programming)
Я даже уверовал и пробовал. Но к сожалению чудес не бывает. Чуть-чуть хочется влево-вправо и привет грабли/костыли/накостыльники.
Оу, достаточно интересный запрос - на самом деле и актуальный)
Не знаю уже готовых инструментов, но думаю что можно подумать что-то в сторону Strapi
В голове пока что висит идея написания плагина, который позволит при коннекте к базе генерировать структуру для Strapi, но пока это только в моей голове - это бесполезно :(
Я бы посмотрел в сторону Headless CMS — вот тут их много всяких собрано в каталог: https://headlesscms.org, там есть и статиконегерирующие.
К готовой базе умеет подключаться https://directus.io, но там бек на PHP, что для многих зашквар, а фронт на Vue. Я пока к нему присматриваюсь, в проде не запускал. Проблема похожа на вашу: как потом туда вкрячить свою бизнес-логику, чтобы иметь возможность развивать её отдельно от CMS.
😱 Комментарий удален его автором...
https://retool.com/ ровно для этого.
Сам не юзал, но Борщев очень рекомендует.
Не раз возвращался к рассмотрению вариантов решения этой задачи. К сожалению, задача слишком абстрактная, всем нужна именно описанная формулировка, а по факту либо независимый фронтенд писать, либо scaffolding (то есть всё уже описанное в ответах тут).
В общем случае нужно сгенерить админку по схеме БД. И наиболее работоспособные варианты заключаются в том, чтобы описать схему, по которой и БД построится с API, и админка под это дело.
Да, админка не самая умная, но обычно это уже что-то более удобное, чем просто морда к базе, к тому же часто хорошо расширяемое при необходимости.
Все найденные решения сбоку от готового API слишком топорные и быстро приводят на этап борьбы с ними вместо полчения профита.
В случае, когда есть возможность начать с нуля, если не хочется пилить независимую админку, я бы плясал от проверенных временем фреймворков в зависимости от языка (RoR, Yii, Django), чтоб оно давало весь набор инструментов.
В django есть админка если не коробит питон, но тоже местами придется допиливать. А так умеет ровно то то описано.
Есть красивая админка для django jetadmin.io, но metabase кажется еще ближе. Это опенсорсная bi, там есть конструкор графиков, табличек. Там, правда, только чтение, переключалок нет https://www.metabase.com