Создание основного каркаса магазина в Rails. Подходит или нет? - PullRequest
0 голосов
/ 19 ноября 2009

Я работаю во внутреннем ИТ-отделе компании, в которой работает около 10 магазинов различной сложности. Кодекс магазинов был написан за последние 8 лет, в каждом магазине растут новые отцы и папы от стебля (думаю, это делает их кустарником?)

Потребность во все более сложных скидках, кампаниях и мониторинге пользователей быстро растет, а также быстро меняется (вы никогда не знаете, что они придумали). Поэтому мы решили написать новую систему с нуля и объединить различные магазины, чтобы они работали на одном и том же основном коде. Мы рассмотрели .NET, но из-за того, что требования к дизайну меняются так быстро, мы более или менее решили попробовать Rails. Но у нас есть некоторые неопределенности / вопросы о рельсах.

Подходят ли Rails (стек) для построения структуры магазина и кто должен это организовывать?

У нас работает около 10 магазинов, некоторые из которых очень похожи, только отличаются по стилю, в то время как другие выделяются по функциональности, потоку и содержанию. Но за бизнес-логикой все то же самое. Функциональность магазинов в значительной степени одинакова. В качестве примера на странице оформления заказа в одном магазине может отображаться подробная информация о НДС, скидках, P & P и т. Д., Тогда как в другом может отображаться только необходимый минимум.

Какой подход вы бы выбрали? Будете ли вы создавать и поддерживать работающий магазин шаблонов с функциональным набором магазинов. По мере разработки новых функций объединять код с другими магазинами? Звучит немного громоздко.

В примере со страницей оформления заказа views будет отличаться от магазина к магазину, но controllers и models останутся прежними, пока вы выводите конфигурации, такие как типы методов оплаты и т. Д. на.

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

Можно было бы организовать представления в соответствии с магазином, сохраняя все ресурсы в одном хранилище /views/shopname/Product. Будет ли это иметь смысл?

Что ты думаешь? как бы ты это сделал? Приведет ли такая работа к рельсам много проблем?

Наша система кампаний / скидок постоянно усложняется, как с графическим интерфейсом, так и с бизнес-логикой. (с этой точки зрения Rails кажется интересным с его быстрым поворотом). Наши скидки основаны на свойствах, и эти свойства хранятся в строке базы данных.

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

В рельсах какой подход вы бы выбрали?

В рельсах вы можете легко расширить свою модель (скидку) еще одним свойством, мигрировать, и вы готовы (возможно, немного упростили). Не могли бы вы написать базовый класс скидок, основанный на нескольких базовых свойствах, а затем написать модули, которые подключаются (расширяют) этот класс на случай, если вам потребуется более продвинутая функциональность?

Конкретно, что это будет в терминах Rails как помощник?

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

Спасибо Michael

Ответы [ 2 ]

0 голосов
/ 19 ноября 2009

Не забудьте Spree Commerce как жизнеспособное решение, которое может удовлетворить или не удовлетворить ваши потребности. С другой стороны, если вы хотите развернуть свое собственное решение, также проверьте ActiveMerchant для интеграции платежного шлюза.

0 голосов
/ 19 ноября 2009

Подходит ли Rails (стек) для запуска построить структуру магазина и как следует это будет организовано?

Конечно, это может быть подходящим, см .:

Я бы не стал рекомендовать его в качестве первого проекта.

...