Начал разработку скрипта для интернет-магазина

Я давно уже продаю небольшую корзину для интернет-магазина jCart. Я доработал функционал, прикрутил обработку заказов, разные формы оплаты. И теперь корзина идеально подходит для небольших магазинчиков. Которые делаются как на самописных движках, так и без всяких движков на чистом HTML или инклудах.

Такие методы разработки вполне приемлемы, если товаров немного. Но некоторые клиенты умудряются делать на HTML магазины с сотнями товаров. И даже если им не жалко своего времени при создании сайта, то они обязательно столкнутся с проблемой обновлений. Представьте, как вы раз в неделю (да хоть в месяц) обновляете руками сотню страниц. Жуть.

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

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

Зачем мне этот скрипт?

Мне регулярно поступают заявки на разработку интернет-магазинов. Я уже разрабатывал пару небольших движков и использовал готовые скрипты. Но хотелось бы использовать свою разработку и сделать её частично универсальной. За этим и скрипт.

К тому же этот движок будет своеобразным каркасом. Ведь я смогу его дорабатывать под любые требования.

Итак, почему люди будут выбирать мой скрипт, а не скрипты конкурентов? Банально потому, что в нём не будет избыточного функционала и тяжести. Будет только самое необходимое. Это конечно отпугнёт любителей супермаркетов с тысячами товаров и множеством прикольных штучек. Но они мне, честно говоря, не интересны.

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

Общие характеристики

  • Платформы. Магазин будет написан на PHP и использовать БД MySQL. Также использован фреймворк jQuery для создания визуальных эффектов.
  • Расширяемая структура. В основе архитектуры лежат парадигма ООП и шаблон проектирования MVC, что значит максимальное отделение работы с базой данных от обработки запросов и вывода шаблонов. Что делает движок гибким и восприимчивым практически к любым зменениям.
  • Удобная шаблонизация. Никаких SMARTY. Только HTML шаблоны со вставками альтернативного синтаксиса PHP. Зачем верстальщику изучать лишние шаблонизаторы.
  • Логичная система ЧПУ. Похожа на ЧПУ в этом блоге. То есть: домен/тип материала/раздел/название товара/. Она удобна не только для людей, но и для поисковиков.

Функции интернет-магазина

Я решил, что стоит реализовывать только самые распространённые функции. Те, без которых интернет-магазин не был бы интернет-магазином. О них расскажу ниже.

Функции пользовательской части

Имеется в виду всё то, с чем взаимодействует покупатель. Всё то, что ведёт его к заказу. А затем к возвращению и повторным покупкам.

  • Корзина товаров. Основанная на AJAX, быстрая и удобная корзина. Обязательный атрибут интернет-магазина.
  • Обработка заказа. Должна предусматриваться оплата электронными деньгами и кредитными картами с помощью сервиса RoboKassa, оплата курьеру (простая отправка заказа) и безналичные платежи (распечатка счёта).
  • Вывод товаров по категориям. Конечно с разбивкой по страницам. И конечно покупатель должен видеть цену, краткое описание, эскиз и иметь возможность добавить товар в корзину.
  • Вывод определённых товаров на главной странице. Думаю, нужно регулировать, что будет отображаться на основной витрине.
  • Вывод страницы товара. Такой страницы, на которой отображается всё, что может заинтересовать покупателя: описание, фотографии, характеристики, имеется ли товар на складе и прочая важная информация.
  • Фото-галерея. Товар обязательно должен быть хорошо представлен визуально. И в идеале фотография должна быть не одна.
  • Технические характеристики. Табличка с характеристиками товара. Очень удобно имхо.
  • Форма обратной связи. Без неё никуда.
  • Карта сайта. И для людей и для поисковиков. В HTML и XML форматах.
  • Лента новостей. С возможностью подписки на RSS ленту. И конечно рассылка на e-mail.
  • Баннерная реклама. Очень удобно рекламировать в магазине свои же продукты.
  • Уведомление об изменении цены. Очень удобная фича. Сам не раз пользовался. Возможно и уведомление о наличии будет.
  • Запоминание данных о клиенте. Без регистрации, но со всеми удобствами.

Функции панели администратора

Этот скрипт будет оснащён админкой, которая будет удобной, но не будет выполнять за администратора его функций. Никакой монструозной админки, делающей всё что угодно.

  • Загрузка данных из текстового файла в MySQL. Многие ведут прайсы в Excel, а значит смогут обновлять информацию загрузкой одного файла.
  • Управление материалами (новостями, страницами, разделами и товарами). Публикация, редактирование, удаление. Также любой материал можно будет не удалять, а просто скрыть.
  • Загрузка изображений с изменением размеров и созданием эскизов. Очень важный пункт. Далеко не все любят управлять изображениями через FTP.
  • Системы скидок. Имхо, самые лучшие системы скидок это накопительная скидка при оформлении заказа и скидочные купоны. Их я и собираюсь реализовать. Возможно сделаю возможность установить скидку на конкретный товар.
  • Наличие товаров. Можно будет указать конкретное количество товара, либо просто указать «в наличии» или «отсутствует».
  • Редактор HTML тегов. Я глубоко убеждён, что в админке не должно быть визуального редактора. С его помощью можно замусорить код до неузнаваемости. А вот редактор HTML тегов поможет упросить наполнение без потери качества форматирования.

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

Итого

Итого владелец магазина сможет вести базу товаров в Excel либо прямо в админке. Все странички естественно будут генерироваться автоматически.

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

Что ещё?

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

Я буду очень благодарен за комментарии.

Подпишитесь на обновления блога

Получить в подарок мини-книги и 21-дневный тренинг по личностному росту.

Подписаться на рассылку «Инструменты Интернет для онлайн бизнеса»

Поделиться ссылкой:


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

10.11.2010 10:12:02

Интересная задумка. Мне интересно, а почему не будет использоваться, какой-нить php-фреймворк, например та же Kohana?)

10.11.2010 10:15:13

Канат Гайлимов, потому что мне интересно работать со своим кодом. Я конечно не считаю себя самым умным. Просто я считаю, что ориентироваться в своём детище проще всего. К тому же это интересно :)

10.11.2010 11:02:27

Never Lex, понятно :) я тоже не юзаю фреймворки, хотя пробовал себя заставить :)

10.11.2010 11:21:54
#4 Михаил

Интересная штука, можно было бы сотрудничать.ток вот ты цену опустил, и можно демо глянуть?

10.11.2010 11:28:20
#5 aktuba

Все же лучше взять фреймворк - конечные потребители рано или поздно захотят доделывать/переделывать и им будет проще, будут благодарны. Та же кохана не предъявляет каких-то жестких требований и при этом очень удобна.

10.11.2010 11:50:52

Михаил, цену пока не придумал :) И демо ещё нет. Я же ещё не доделал :)

И кстати, такие ссылочки я вырезаю. Это же не блог и персональная страничка.

aktuba, с одной стороны да. Кохана действительно хорошая штука. Но я просто обожаю велосипеды.

10.11.2010 12:33:46

Сейчас как раз нужен магазин. Выбираю для него движок. Обязательно нужна возможность продажи ПИН-кодов (а это не просто загружаемые товары), очень неплохо, чтобы были полноценные фильтры по свойствам товара.
Ну и одной Робокассой жив не будешь. :) Оно, конечно, удобно, но комиссия убивает. Те же WebMoney и Яндекс.Деньги лучше подключать самостоятельно.

10.11.2010 13:25:06
#8 Guest

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

10.11.2010 13:48:30
#9 Vost

А я вот считаю что велосипеды нужно изобретать потому что когда все сам пишешь ты умнее становишь и понимаешь больше чем когда пользуешься чужими наработками

10.11.2010 14:03:39
#10 Guest

Изобретать велосипеды(если это действительно велосипеды) стоит только в том случае, если понимание предметной области находится в рамках 95-100%, + опыт позволяет еще на этапе проектирования и анализа предусмотреть и исключить появление тривиальных ошибок, предусмотреть возможности простоты модификации, сокращение времени внедрения и т.д. А от того что все сам пишешь умнее не становишься, а всего лишь тратишь время и усилия впустую, т.к. в 90% случаев найдется человек в мире который все изучил и реализовал до вас настолько скурпулезно, что как ты «велосипед» не реализуй, все равно получиться тоже самое.

10.11.2010 14:21:03

Guest, а ты можешь показать пример такого велосипеда? Ну вот прямо такого, о котором речь в этой заметке.

10.11.2010 15:14:37

Владимир Лапшин, этот движок будет специализироваться на физических товарах. А как показывает практика, то оплата на таком сайте большинству вообще не нужна. Зато будет шоп и для цифровых товаров. Там будут предусмотрены и пин-коды, и доставка товара, и его обновление и партнёрка. В общем, более сложная структура.

Guest, обожаю таким «умников». Они очень хорошо умеют говорить :) Особенно гадости. Лучше бы делом занимались.

Vost, пользоваться чужими наработками тоже хорошо. Так в основном профессиональные программеры поступают. Такие, которым главное побыстрее написать и побольше денег получить :)

10.11.2010 15:16:19
#13 aktuba

Тормоз - ZF, Kohana, Yii? =)

10.11.2010 15:17:37

aktuba, это всё движки магазинов? 0_о :)

10.11.2010 16:59:46
#15 SerG

Хотелось дополнительные функции:
1. Многовалютность (возможность иметь одни товары в гривне, а другие в долларах);
2. Функция «Распечатать информацию» (неудобно печатать полностью сайт).

Пример: http://shop.webchess.ru/. Неплохой демо-скрипт.

10.11.2010 17:09:29

SerG, жуть какая по ссылке. Спасибо за пожелания.

10.11.2010 21:44:09

Канат Гайлимов,
kohana фигня, а вот Yii просто супер :)

10.11.2010 21:47:50

aktuba,
фреймворки далеки от совершенства. тот же Yii, который явно лучший из всех перечисленных, все равно не достаточно мощен и удобен

10.11.2010 21:49:56

потом сравним что вышло у меня, а что у тебя :) а то я тож занимаюсь написанием своего велосипеда)

11.11.2010 09:54:14

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

11.11.2010 11:32:51
#21 Макс

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

11.11.2010 17:48:03
#22 Маг

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

12.11.2010 08:32:44

SerG, Что за ересь? Мы что в 90-ые вернулись?
хороший дизайн надобен срочно.
Never Lex, А можешь под цифровые товары тоже заточить его=)

12.11.2010 08:47:15

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

Пока наверно сделаю небольшой скрипт для продажи цифровых штуковин. Может дам потестировать :)

12.11.2010 17:51:55

А можно ли увидеть пример твоего скрипта? и какова цена на товар такого рода? каков спрос? Спрашиваю не из праздного интереса :)

14.11.2010 08:11:01

Never Lex, Я не прочь протестировать разные новые велосипеды=)
Главное чтобы при падении, если они будут, не больно было свалиться с такого велосипеда

16.11.2010 04:48:29
#27 vogue

не понимаю не легче всего -ли взять готовый скрипт магазина и просто модернизировать шаблон? например скрипт вамшопа?

16.11.2010 07:03:44
#28 Raduga

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

28.11.2010 10:00:18

Якби всі брали фреймворки, чужі скрипти, то у вебі нічого нового не з’явилося. Імхо

06.12.2010 22:18:50
#30 Mayor

Да, сам страдаю этой болезнью - изобретать велосипеды. Действительно стоящая затея! Сложно, зато потом знаешь, что, где и как. А другие - не знают :). И это тоже плюс!

06.12.2010 22:54:42
#31 wow

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

08.12.2010 13:43:08
#32 Alex_Perevodin

Идея очень хорошая. Что то добавить к вашему списку сложно. Думаю все моменты вы написали. Думаю кроме самого скрипта нужно создать несколько десятков очень хороших шаблонов, и возможность их выбора из админки.

10.12.2010 14:23:33
#33 karvladimir

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

14.12.2010 10:37:15
#34 xBob

Как продвигается проект? Сколько ориентировочно будет стоить?

14.12.2010 13:28:57

Да и так неплохо)) Желаю удачи в разработке.

14.12.2010 15:23:31

xBob, нормально продвигается. К Новому Году вряд ли доделаю, но в январе скорее всего уже будет результат. Цену пока не придумывал. Всему своё время.

15.12.2010 06:30:55
#37 xBob

Never Lex, удачи! Возможно в ближайшее время понадобится - рассматриваю Ваше решение как вариант.

16.12.2010 10:35:04

я искал себе для инет магазина что то подобное.

18.12.2010 11:52:44
#39 анинимус

а не проще ли взять один из готовых бесплатных проектов и просто усовершенствовать под себя, так сказать «модернизировать конструкцию велосипеда»?

23.12.2010 11:53:57

прикольно вот тоже думаю может тоже создать интернет магазин? ну желаю тебе удачи)))

10.02.2011 08:52:58

Как написал Анинимус - проще доработать бесплатный вариант. Ведь начинать с нуля немного трдновато. Не?

12.02.2011 08:38:36

@NeverLex
>Guest, обожаю таким «умников». Они очень хорошо умеют говорить :) Особенно гадости. Лучше бы делом занимались.
Ну ты зря так (хотя до грани комментатор добрался). Действительно, велосипедность хороша только для разработчика, который трется с мелкими и крупными проблемами и получает удовольствие, что он их решает. Один раз на миллион происходит качественное улучшение, благодаря, чему велосипед становится велосипеднее - но это один раз на миллион.

В общем, задача сама по себе интересная, но ты упираешь на то, как будет интересно тебе, а не что привлечет клиентов и разработчиков (а для движка интернет-магазина последние тоже очень важны).

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

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

12.02.2011 09:06:13

Скажем так. Первоначальная задача скрипта - удовлетворение моих потребностей и основных требований среднего заказчика. То есть, я собираюсь несколько магазинов сам сделать. А, как известно, то, что делается «для себя» наиболее эффективно.

Но движком уже заинтересовались :) Что не может не радовать.

12.02.2011 10:19:31

>что делается «для себя» наиболее эффективно
Но замыкает поддержку только на тебя, и в случае глобальной переработки и возможной смены разработчика, есть вероятность, что потребуется новая разработка с нуля :).

Это как не следовать стандарту T568B и мешать цвета в витой паре как хочешь.

Но все равно, надеюсь, что у тебя получится гибкий инструмент и для других веб-разработчиков.

27.05.2011 11:18:01

Тема актуальная и быстро развивающая в сети! Вы сообщите хотя бы приблизительно когда собираетесь начать тестирование скрипта. Спасибо за ресурс neverlex.com, есть над чем подумать. Желаю творческих успехов и удачи в разработках.

22.07.2011 07:07:54
#46 Алексей

Сколько примерно будет стоить «поставить» магазин???

22.07.2011 08:08:06

Алексей, пишите на мыло, будем разговаривать :)

12.02.2012 07:26:41
#48 Алексис

Подробный фильтр товаров бы к магазину, типа как на розетке, и всякие симплы могут отдыхать. Это как пожелание для мага)))

Оставьте комментарий [форматирование]

Пожалуйста, воздержитесь от спама и идиотских высказываний. Жёсткая модерация. Ссылки закрыты атрибутом nofollow, а значит не несут пользы для продвижения!
Ссылки на всё кроме личных блогов и тематических блогов, сходных по тематике с данным, вырезаются.



Мой RSS фид