@hardwellZero

Как хранить данные для калькулятора стоимости?

Здравствуйте.
Необходимо реализовать калькулятор стоимости на сайт, пользователь выбирает какие "фишки" ему нужны и получает стоимость его проекта.
Основная проблема в том что сценариев для пользователя очень много.
Например:
1. Выбрал что ему нужен объект A (из A,B,C)
2. Поскольку выбрал A то дать на выбор A1,A2,A3...A10
3. Если выбрал A3 или A4 то дать на выбор A3.1/A3.2 или A4.1/A4.2
И тд.
Вопрос состоит в том что я не знаю как правильно мне хранить все эти связи между объектами, сейчас от заказчика у меня только google sheet с возможными сценариями для пользователя и их ну очень много(>150).
UPD. Нашел сайт с похожей логикой только для оценки разработки
https://estimatemyapp.com/

Заранее спасибо!
  • Вопрос задан
  • 290 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Делаем массив УНИФИЦИРОВАННЫХ "страниц" (шагов) всей формы.
2. Делаем массив УНИФИЦИРОВАННЫХ ПЕРЕХОДОВ: id унифицированной "страницы", состояния полей (+расчёт), id-следующей "страницы" (куда переадресуем после корректного заполнения этой).
3. Нужно сделать функцию по-типу switch'a и цикла. Т.е., делаем условия и что показать.
Флаг "Completed" у формы отсутствует - цикл по-кругу, иначе - выход из функции.
В условиях - прописываем: какую "страницу" опроса отобразить на текущее состояние заполнения всей формы и ID унифицированного перехода (выбор следующей вместе с расчётом в зависимости от заполнения текущей).

Также, можно сделать вложенные условия через рекурсию: вызов этой функции с нужной ветки с нужными входными параметрами (sub-формами и т.д.).
На выходе - получаем все, что нужно.
Ответ написан
Комментировать
Можете попробовать использовать Postgresql и ltree.
Судя по условиям вашей задачи - вполне применимый метод хранения и обработки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы