среда, 7 ноября 2012 г.

Немного о том, как я перепиливал django-lfs

Некоторое время назад, когда передо мной встала задача создания интернет-магазина на django я разрывался между несколькими вариантами дальнейших действий:
    1. django-satchmo
    2. django-lfs 
    3. django-shop (недоделанный)
    4. сделать все самому с нуля
Будь у меня побольше время на тот проект, то , скорее всего , я бы остановился на варианте "сделай сам". 
Но в итоге выбор пал на django-lfs, потому что он мне показался проще в установке и сразу из коробки , там что-то даже полноценно работало =)

Довольно скоро после начала попыток создания данного конкретного магазина на lfs стало ясно, что допиливать придется , и допиливать много. Вот краткий список того, что было доделано-переделано:
  1. добавлен механизм новостей (на основе переработанного под SEO модуля django-diario)
  2. добавлен ротатор баннеров
  3. добавлены товары-"новинки"
  4. упрощена работа с адресами
  5. добавлен механизм персональных скидок зарегенным пользователям магазина
  6. расширен модуль "способы доставки" (для возможности иметь адрес доставки опциональным  в зависимости от способа доставки)
  7. добавлен модуль "FAQ"
  8. добавлен модуль "Рекламные кампании"
и еще куча доработок и переделок по - мелочи - все это, естественно, с поддержкой в manage интерфейсе, что требовало дополнительного кропотливого "встраивания".

В перспективе еще много фич задумано...

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

Не уверен, что пришлось бы меньше потеть, возьми я ,  кпримеру satchmo. И наоборот, уверен, что с учетом трудозатрат на ознакомление и допиливание с нуля проект делался бы дольше, начни я делать все с нуля. Правда и "костылей" бы в нем не было, какие , признаться есть сейчас и ожидают очередни на рефакторинг =)

Бытует мнение , что всякий подобный продукт в любом случае придется кастомизировать под заказчика, и не всегда будет складываться так, что архитектура продукта позволит это сделать безболезненно. Это касается не только django-магазинов. Думаю, для всяких джумл с виртуемартами это справедливо в той же или даже большей степени. Что косвенно подтверждают многочисленные отзывы php-разработчиков.

Вывод - если есть время и бюджет , то делать надо с разумного нуля, компонуя решение из более мелких , а также самодельных django-приложений

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


Комментариев нет:

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

Если Вы нашли ошибку у автора, у Вас есть вопрос или просто хотите поделиться чем-то полезным, то пишите - не стесняйтесь..