Как создать динамические (поддерживаемые пользовательские поля) приложения SaaS?

Я хочу построить многопользовательское SaaS-приложение на PHP с Laravel 5.4. Я подготовил почти для каждого модуля, который требуется для архитектуры, но теперь я поражен Автоматическая генерация пользовательских полей.

Как мы настраиваем формы в SAP, Oracle eBiz Suit, Sage CRM, Salesforce и т. Д. Я хочу создать такую ​​схему. Поэтому, если любому пользователю / компании требуется настраиваемое поле или набор полей, мне не нужно переписывать код. Поля должны быть добавлены как функция перетаскивания.

Я не знаю, есть ли у этой технологии конкретный термин … Но мне нужны некоторые руководства и руководства по архитектуре этого модуля.

Спасибо за вашу помощь!

1

Решение

Вы можете сделать это, изменив базу данных.

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

Затем вы модифицируете базу данных, добавляя две таблицы: одну для создания структуры настраиваемого поля, а другую для добавления значения соответствующих данных транзакции.введите описание изображения здесь

После этого изображение ниже может быть достигнуто путем учета взаимосвязи между полями таблицы. Я поставил один и тот же цвет для полей, которые связаны друг с другом.введите описание изображения здесь

Остальное, я полагаю, вы уже знаете, как это сделать в Laravel.

1

Другие решения

Если вы хотите использовать перетаскивание Laravel, генератор пользовательских форм, похожий на CRM, wufoo, surveymonkey, google формы, formtack и т. Д., То я рекомендую:

  1. Создайте приложение Laravel и добавьте аутентификацию: php artisan make: auth
  2. Интегрировать компонент Form Builder с помощью библиотеки JavaScript, такой как jQuery Form Builder
  3. Создайте таблицу для форм, которая имеет внешний ключ для пользователя. Сохраните макет формы в формате JSON как поле в вашей таблице.
  4. Создайте таблицу для представлений, которая имеет внешний ключ к форме. Сохраните отправленные формы в формате JSON как поле в вашей таблице.
  5. Посмотреть пример пакета laravel на Github Laravel Drag and Drop Builder
0

По вопросам рекламы [email protected]