четверг, 19 апреля 2012 г.

Svopi.ru - Мы запустились!

Мы запустили магазин совместных покупок svopi.ruПока магазин работает только по Омску. Так сложилось, что выходить на рынок решили именно в этом замечательном городе - Омске.

Так как я разработчик, то остановлюсь подробнее на технической реализации:









Итак, по порядку. Готовых движков интернет магазинов навалом, но они либо на самописном движке, либо на друпале. 

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

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

Из php фреймворков выбор пал на Yii. Почему именно Yii - он простой и что немаловажно, без "магии", чем не могут похвастаться многие другие  php фрэймворки.

Дизайном решено было на первом этапе не заморачиваться, а взять Bootstrap и просто использовать его.
И тут меня, как разработчика, поджидала одна очень приятная неожиданность, а именно отличнейшее расширение Yii-bootstrsp. Вот демка. Просто и со вкусом, почти все плюхи bootsrtap в Yii-шном стиле. В общем все, или почти все на сайте svopi.ru реализовано именно виджетами Yii-Bootstrap.

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

Кстати, эти два расширения написаны одним, скорее всего, замечательным человеком Chris83, за что ему огромное спасибо.

Личные собщения - модуль private-messaging. Ничего лишнего, просто личные сообщения.

А вот модуль коментариев взять готовый не получилось. За основу был взят comments-module и очень сильно переделан, но зато теперь комментарии тоже "бутстраповые". В планах - довести модуль до ума и выложить в расширениях.

Из красивостей используется еще два расширения:
  • fancybox - увеличивающиеся "красивенькие" картиночки 
  • krichtexteditor - TinyMCE обертка для Yii. Оличный  WYSIWYG редактор.


Я пытался использовать вот это расширение для редактирования текста, но при его использовании отваливался почти весь JavaScript. Причина мне так и осталась не ясна, прошлось взять krichtexteditor. В конечном итоге эта реализация плагина мне понравилась даже больше;)

Для отправки писем решил использовать прослойку yii-mail, о чем не пожалел.

В общем все, магазин работает=)

А теперь ссылки на репозитории используемых штук по порядку:

  1. yiisoft / yii - конечно же сам Yii Framework, который переехал на github, что есть очень хорошо.
  2. yii-bootstrap - ядро интерфейса
  3. yii-img - работа с картинками
  4. yii-messages - личные сообщения
  5. Comments-module - оригинальный модуль комментариев, а вот мой форк mahnunchik/Comments-module, который я и использую в магазине
  6. krichtexteditor - но это несколько модулей вместе, из которых я использую только один
  7. yii-mail - отправка почты
Хочу ещё раз выразить огромнейшее спасибо автору yii-bootstrap Chris83 и дизайнеру, нарисовавшему единственную дизайнерскую штуку на сайте - это наше лого.