Имеется БД, с которой необходимо работать как некоторым разработчикам, так и менеджерам (aka корректировщики данных). В БД расположено 30+ таблиц, которые могут быть связаны друг с другом различными связями.
Если разработчики ещё могут писать сырые SQL запросы для проверки и поиска артефактов в БД, то менеджеры этого делать не могут. Поэтому встал вопрос о создании веб-интерфейса, на котором можно было бы делать, по сути, CRUD операции в нужной БД, просматривать какие таблицы есть, их связи, применять различные фильтры для поиска, добавление, удаление записей и т.п. При этом, должны быть всякие украшательства в виде валидации данных при изменении, отрисовка структур таблицы (в виде дерева например).
У меня в мыслях только одна реализация подобного витает: фронтенд отдельное веб-приложение (react/vue), а бэкенд python, который и будет в дальнейшем обрабатывать все полученные данные по API, отсылать на midlware баз данных, собирать и компоновать данные и отдавать обратно на фронт. Я в правильную сторону думаю или, всё-таки, подобное приложение можно написать сугубо на питоне (django, etc.), и чтобы покрыть все нужные потребности?
В джанго всё-таки работа с шаблонами расстраивает, всё-таки подобное приложение требует "реактивности", поскольку нужны и всякие выделения нескольких строк, фильтрация та же, поиск. Всё это, как мне кажется, сугубо должно происходить на стороне JS в браузере, а от питона (API) будет ходить сугубо запрашиваемые данные.
Может быть есть какие-то готовые open-source решения, которые решают +- такую же задачу? Из того что я нашёл, это: retool, tooljet, appsmith. У них есть возможность подключать datasource и взаимодействовать с данными непосредственно через компоненты. Но у того же tooljet под капотом react.
Дополнительно:
Содержание
Ты описал crm систему
Как мне кажется вы не правильно ставите задачу. По сути менеджеры и разработчики решают разные задачи.
Поэтому для разработчиков phpmyadmin а для менеджеров как вы и сказали самописное приложение с возможность быстрого ввода карточек и несколькими отчетами.
Если подходят платные решения, посмотрите PHPRunner. Легко и быстро сделает всязи между таблицами, фильтры, валидацию, CRUD итд.
А если самому, то серверную часть на питоне или чем-то другом, для фронтенда тоже фреймворков хватает.
Ответы:
phpmyadmin не оно?
То, что вы хотите, имеет научное название headless cms, например, strapi или ей подобные.
По описанию похоже, что вам нужен jet admin. Хотя я сам его не пробовал, только присматриваюсь.
https://www.jetadmin.io/integrations
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для создания веб-интерфейса работы с базой данных (БД) существует несколько подходов, в зависимости от того, какие требования и цели у вас есть. Вот некоторые из них:
1. Использование ORM (Object-Relational Mapping): ORM позволяет вам работать с базой данных, используя объектно-ориентированный подход. Вы можете создать модели для каждой таблицы в вашей базе данных, и ORM будет автоматически преобразовывать данные между объектами и записями в БД. Некоторые популярные ORM для PHP включают в себя Eloquent (для Laravel), Doctrine и Propel.
2. Использование фреймворков: Многие современные веб-фреймворки уже включают в себя средства для работы с базой данных. Например, Laravel имеет встроенную ORM Eloquent, а Symfony предлагает Doctrine. Фреймворки облегчают создание веб-интерфейса для работы с БД, предоставляя готовые инструменты и структуру проекта.
3. Написание собственного интерфейса: Если у вас есть определенные требования, которые не удовлетворяются существующими ORM или фреймворками, вы можете написать свой собственный веб-интерфейс для работы с БД. Для этого вам понадобится знание SQL и PHP, чтобы выполнять запросы к БД и обрабатывать данные.
Независимо от того, какой метод вы выберете, важно следить за безопасностью вашего приложения. Используйте параметризованные запросы, чтобы предотвратить атаки SQL-инъекций, и проводите валидацию данных, прежде чем передавать их в БД.
Для создания веб-интерфейса работы с базой данных существует несколько способов и инструментов. Один из наиболее популярных способов - использование серверных языков программирования, таких как PHP, Python, Ruby или Java, для создания динамических веб-страниц, которые могут взаимодействовать с базой данных.
Для работы с базой данных через веб-интерфейс можно использовать специализированные фреймворки и библиотеки, такие как Django для Python, Laravel для PHP, Ruby on Rails для Ruby и Spring для Java. Эти фреймворки предоставляют удобные инструменты для работы с базами данных, включая объектно-реляционное отображение (ORM), миграции данных, а также возможность создания административных панелей для управления данными.
Еще одним популярным способом создания веб-интерфейса работы с базой данных является использование JavaScript и AJAX для создания SPA (Single Page Application). В этом случае весь интерфейс приложения загружается один раз, а затем данные обновляются и отправляются на сервер без перезагрузки страницы. Для работы с базой данных в SPA можно использовать RESTful API, который позволяет обмениваться данными между клиентом и сервером.
Для создания более сложных интерфейсов работы с базой данных можно использовать front-end фреймворки, такие как React, Angular или Vue.js, которые предоставляют мощные инструменты для создания динамических пользовательских интерфейсов. С их помощью можно легко взаимодействовать с сервером, отправлять запросы к базе данных и отображать полученные данные на странице.
Таким образом, для создания веб-интерфейса работы с базой данных можно использовать различные инструменты и технологии, в зависимости от требований проекта и уровня сложности интерфейса. Важно выбрать подходящий инструмент, который позволит эффективно взаимодействовать с базой данных и предоставить пользователям удобный интерфейс для работы с данными.