Начал разработку скрипта для интернет-магазина
Я давно уже продаю небольшую корзину для интернет-магазина 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-дневный тренинг по личностному росту.
Подписаться на рассылку «Инструменты Интернет для онлайн бизнеса»
Подписаться на обновления блога:
RSS E-mailПоделиться ссылкой:
6 Твиттор ВКонтакт ФэйсбукКомментарии:
Интересная штука, можно было бы сотрудничать.ток вот ты цену опустил, и можно демо глянуть?
Все же лучше взять фреймворк - конечные потребители рано или поздно захотят доделывать/переделывать и им будет проще, будут благодарны. Та же кохана не предъявляет каких-то жестких требований и при этом очень удобна.
Сейчас как раз нужен магазин. Выбираю для него движок. Обязательно нужна возможность продажи ПИН-кодов (а это не просто загружаемые товары), очень неплохо, чтобы были полноценные фильтры по свойствам товара.
Ну и одной Робокассой жив не будешь. :) Оно, конечно, удобно, но комиссия убивает. Те же WebMoney и Яндекс.Деньги лучше подключать самостоятельно.
Изобретение велосипедов полная тупость, надеяться что сделаешь лучше других, к тому же не являясь опытным разработчиком - абсурдно, как показывает практика это пустая трата времени и денег.
А я вот считаю что велосипеды нужно изобретать потому что когда все сам пишешь ты умнее становишь и понимаешь больше чем когда пользуешься чужими наработками
Изобретать велосипеды(если это действительно велосипеды) стоит только в том случае, если понимание предметной области находится в рамках 95-100%, + опыт позволяет еще на этапе проектирования и анализа предусмотреть и исключить появление тривиальных ошибок, предусмотреть возможности простоты модификации, сокращение времени внедрения и т.д. А от того что все сам пишешь умнее не становишься, а всего лишь тратишь время и усилия впустую, т.к. в 90% случаев найдется человек в мире который все изучил и реализовал до вас настолько скурпулезно, что как ты «велосипед» не реализуй, все равно получиться тоже самое.
Guest, а ты можешь показать пример такого велосипеда? Ну вот прямо такого, о котором речь в этой заметке.
Хотелось дополнительные функции:
1. Многовалютность (возможность иметь одни товары в гривне, а другие в долларах);
2. Функция «Распечатать информацию» (неудобно печатать полностью сайт).
Пример: http://shop.webchess.ru/. Неплохой демо-скрипт.
потом сравним что вышло у меня, а что у тебя :) а то я тож занимаюсь написанием своего велосипеда)
Сам сейчас работаю над созданием магазина. Но своих скриптов не писал, использую, скажем так, общедоступные, просто немного под себя переделываю.
Есть же ведь бесплатные скрипты магазинов, бери их и чуть переделывая для заказщика.
Идея вполне отличная, да и спросом такое пользуется сейчас. На счет доп функций пока в голову ничего не приходит. Если что придумаю то обязательно напишу.
А можно ли увидеть пример твоего скрипта? и какова цена на товар такого рода? каков спрос? Спрашиваю не из праздного интереса :)
не понимаю не легче всего -ли взять готовый скрипт магазина и просто модернизировать шаблон? например скрипт вамшопа?
Легше, но если ты захочешь что-нибудь изменить глобально в коде, не дизайн, ты потратишь больше времени, чем сам потихоньку будешь разрабатывать свой сайт, пусть даже интернет магазин.
Якби всі брали фреймворки, чужі скрипти, то у вебі нічого нового не з’явилося. Імхо
Да, сам страдаю этой болезнью - изобретать велосипеды. Действительно стоящая затея! Сложно, зато потом знаешь, что, где и как. А другие - не знают :). И это тоже плюс!
Идея очень хорошая. Что то добавить к вашему списку сложно. Думаю все моменты вы написали. Думаю кроме самого скрипта нужно создать несколько десятков очень хороших шаблонов, и возможность их выбора из админки.
Не понимаю смысла такой работы, если тока разработчику действительно хочется кого то удивить, то создавайте... В любом случае желаю вам удачи, знаком с кропотливостью этого труда.
а не проще ли взять один из готовых бесплатных проектов и просто усовершенствовать под себя, так сказать «модернизировать конструкцию велосипеда»?
прикольно вот тоже думаю может тоже создать интернет магазин? ну желаю тебе удачи)))
Как написал Анинимус - проще доработать бесплатный вариант. Ведь начинать с нуля немного трдновато. Не?
@NeverLex
>Guest, обожаю таким «умников». Они очень хорошо умеют говорить :) Особенно гадости. Лучше бы делом занимались.
Ну ты зря так (хотя до грани комментатор добрался). Действительно, велосипедность хороша только для разработчика, который трется с мелкими и крупными проблемами и получает удовольствие, что он их решает. Один раз на миллион происходит качественное улучшение, благодаря, чему велосипед становится велосипеднее - но это один раз на миллион.
В общем, задача сама по себе интересная, но ты упираешь на то, как будет интересно тебе, а не что привлечет клиентов и разработчиков (а для движка интернет-магазина последние тоже очень важны).
Скажем, фреймворк в самом низу - это уже плюс. Не просто гибкость, но удобство расширения движка так, чтобы движок не был привязан только к тебе. Ну и прочее сопутствующее.
Хотя, я сейчас вот работаю над магазином кассовых аппаратов, который написан на Вордпрессе, категории-посты - это товары, цены в кастомфилдах, а оформление заказа в корзине должно отправлять только письмо, не сохраняя ничего в базе. Ну что поделать, бывают и такие случаи - что доказывает, что ниши остаются всегда :) так что, можно продать и скрипт, написанный для удовольствия.
>что делается «для себя» наиболее эффективно
Но замыкает поддержку только на тебя, и в случае глобальной переработки и возможной смены разработчика, есть вероятность, что потребуется новая разработка с нуля :).
Это как не следовать стандарту T568B и мешать цвета в витой паре как хочешь.
Но все равно, надеюсь, что у тебя получится гибкий инструмент и для других веб-разработчиков.
Тема актуальная и быстро развивающая в сети! Вы сообщите хотя бы приблизительно когда собираетесь начать тестирование скрипта. Спасибо за ресурс neverlex.com, есть над чем подумать. Желаю творческих успехов и удачи в разработках.











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