Какими средствами сделать веб-интерфейс работы с БД?

Имеется БД, с которой необходимо работать как некоторым разработчикам, так и менеджерам (aka корректировщики данных). В БД расположено 30+ таблиц, которые могут быть связаны друг с другом различными связями.
Если разработчики ещё могут писать сырые SQL запросы для проверки и поиска артефактов в БД, то менеджеры этого делать не могут. Поэтому встал вопрос о создании веб-интерфейса, на котором можно было бы делать, по сути, CRUD операции в нужной БД, просматривать какие таблицы есть, их связи, применять различные фильтры для поиска, добавление, удаление записей и т.п. При этом, должны быть всякие украшательства в виде валидации данных при изменении, отрисовка структур таблицы (в виде дерева например).
У меня в мыслях только одна реализация подобного витает: фронтенд отдельное веб-приложение (react/vue), а бэкенд python, который и будет в дальнейшем обрабатывать все полученные данные по API, отсылать на midlware баз данных, собирать и компоновать данные и отдавать обратно на фронт. Я в правильную сторону думаю или, всё-таки, подобное приложение можно написать сугубо на питоне (django, etc.), и чтобы покрыть все нужные потребности?
В джанго всё-таки работа с шаблонами расстраивает, всё-таки подобное приложение требует "реактивности", поскольку нужны и всякие выделения нескольких строк, фильтрация та же, поиск. Всё это, как мне кажется, сугубо должно происходить на стороне JS в браузере, а от питона (API) будет ходить сугубо запрашиваемые данные.
Может быть есть какие-то готовые open-source решения, которые решают +- такую же задачу? Из того что я нашёл, это: retool, tooljet, appsmith. У них есть возможность подключать datasource и взаимодействовать с данными непосредственно через компоненты. Но у того же tooljet под капотом react.

Дополнительно:

Ты описал crm систему

  • WapSter, нет, он описал phpmyadmin, IBExpert или еще миллион тулзов для редактирования бд в ГУИ
  • WapSter, в каком месте это CRM? Это скорее CMS.
  • Как мне кажется вы не правильно ставите задачу. По сути менеджеры и разработчики решают разные задачи.
    Поэтому для разработчиков phpmyadmin а для менеджеров как вы и сказали самописное приложение с возможность быстрого ввода карточек и несколькими отчетами.

    Если подходят платные решения, посмотрите PHPRunner. Легко и быстро сделает всязи между таблицами, фильтры, валидацию, CRUD итд.

    А если самому, то серверную часть на питоне или чем-то другом, для фронтенда тоже фреймворков хватает.

    Ответы:

    phpmyadmin не оно?

    То, что вы хотите, имеет научное название headless cms, например, strapi или ей подобные.

    По описанию похоже, что вам нужен jet admin. Хотя я сам его не пробовал, только присматриваюсь.
    https://www.jetadmin.io/integrations

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Какими средствами сделать веб-интерфейс работы с БД?Есть ответ
      • 09.04.2024
      Ответить

      Для создания веб-интерфейса работы с базой данных (БД) существует несколько подходов, в зависимости от того, какие требования и цели у вас есть. Вот некоторые из них:

      1. Использование ORM (Object-Relational Mapping): ORM позволяет вам работать с базой данных, используя объектно-ориентированный подход. Вы можете создать модели для каждой таблицы в вашей базе данных, и ORM будет автоматически преобразовывать данные между объектами и записями в БД. Некоторые популярные ORM для PHP включают в себя Eloquent (для Laravel), Doctrine и Propel.

      // Пример использования ORM (Eloquent)
      $user = User::find(1);
      echo $user->name;

      2. Использование фреймворков: Многие современные веб-фреймворки уже включают в себя средства для работы с базой данных. Например, Laravel имеет встроенную ORM Eloquent, а Symfony предлагает Doctrine. Фреймворки облегчают создание веб-интерфейса для работы с БД, предоставляя готовые инструменты и структуру проекта.

      3. Написание собственного интерфейса: Если у вас есть определенные требования, которые не удовлетворяются существующими ORM или фреймворками, вы можете написать свой собственный веб-интерфейс для работы с БД. Для этого вам понадобится знание SQL и PHP, чтобы выполнять запросы к БД и обрабатывать данные.

      // Пример использования чистого SQL запроса
      $query = "SELECT * FROM users WHERE id = 1";
      $result = $pdo->query($query);
      $user = $result->fetch(PDO::FETCH_ASSOC);
      echo $user['name'];

      Независимо от того, какой метод вы выберете, важно следить за безопасностью вашего приложения. Используйте параметризованные запросы, чтобы предотвратить атаки SQL-инъекций, и проводите валидацию данных, прежде чем передавать их в БД.

      • Какими средствами сделать веб-интерфейс работы с БД?Есть ответ
      • 07.04.2024
      Ответить

      Для создания веб-интерфейса работы с базой данных существует несколько способов и инструментов. Один из наиболее популярных способов - использование серверных языков программирования, таких как 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, которые предоставляют мощные инструменты для создания динамических пользовательских интерфейсов. С их помощью можно легко взаимодействовать с сервером, отправлять запросы к базе данных и отображать полученные данные на странице.

      Таким образом, для создания веб-интерфейса работы с базой данных можно использовать различные инструменты и технологии, в зависимости от требований проекта и уровня сложности интерфейса. Важно выбрать подходящий инструмент, который позволит эффективно взаимодействовать с базой данных и предоставить пользователям удобный интерфейс для работы с данными.

    Оставить комментарий