Я создаю бизнес-веб-приложение среднего размера, данные сохраняются в базе данных MySQL.
Я пытаюсь придумать способ добавления определенных выбираемых «виджетов» в это приложение (например, виджет валюты - который будет отображать указанные пользователем валюты, когда веб-приложение будет видно), но мне трудно решить, как сохранить данные и настройки виджета на пользователя, так как виджеты не имеют общей базы.
Например, настройки виджета валюты полностью отличаются от, скажем, виджета погоды.
Для одного потребуется список желаемых валют, а для другого - целевое местоположение погоды.
Я подумал о решении вышеизложенного, сохранив все данные настроек виджета, закодированные в столбце «widgetData» таблицы БД, которая будет содержать userId, widgetId и widgetData.
Я выбрал JSON в качестве способа кодирования, и каждый раз, когда пользователь пытается загрузить свою страницу, мне приходится декодировать ее настройки и передавать пользователю нужные данные на основе настроек.
То же самое относится и к сохранению фактических данных виджета, у которого нет общей базы.
Надеюсь, я смогу решить эту проблему с помощью структуры данных NO-SQL в следующий раз, но это не относится к текущему проекту.