/IntellectShop

Для будущего Internet-магазина

IntellectShop

Со временем планирую написать Internet-магазин на PHP + MongoDB + возможно, vue.js с сохранением данных в статичные HTML-файлы для максимальной скорости загрузки и работы. Пока только некоторые соображения по нему:

Базовые возможности

  • Возможность интеграции, в частности, готовый модуль для интеграция с 1С в обе стороны.
  • Сохранение внешних описаний в отдельное поле в БД, которое будет использоваться, если не задано внутреннее (полезно, если товары идут из 1С, и описания там слишком краткие)
  • Встроенная почтовая рассылка, возможно, с отложенной отправкой, и с подтверждением истинности адреса, а также с сохранением IP подписки.
  • В качестве логина — номер мобильника или EMail на выбор с интеллектуальным распознаванием, что именно введено (с распознаванием всех возможных форматов номеров), а также функция быстрой высылки SMS с паролем без смены страницы, также возможна авторизация через соцсети (для простоты — через uLogin).
  • Встроенные новости/блог и список статей с категориями (м.б. расширяемый)
  • Встроенные статические страницы (для разделов типа «Оплата», «Доставка», «Гарантии»)
  • Поддержка микроразметки сразу
  • Выгрузка данных в Яндекс.YML
  • Правильная иерархия категория/товар в URL, т.е. /cat-name/product-name.htm, а не /categories и /products
  • Корректная транслитерация URL с обработкой спецсимволов и лишних пробелов. В идеале — «умная транслитерация»
  • Логгирование всех действий сотрудников, чтобы любое измнение товара можно было отследить
  • Возможность вставлять в текст страницы обрабатываемые блоки, аналогично TextCMS
  • «Обратный звонок», чтобы не ставить внешние скрипты
  • Три уровня доступа в админку: SEOшник, продавец, администратор. SEOшник может только редактировать тексты и писать новости, продавец — включать и отключать товары, менять цены, обрабатывать и т.п., администратор имеет полный доступ.
  • Универсальная система пометок товаров в админке (для акций, всяких рекомендаций и т.п.)
  • Отказ от разбиения на страницы, подгрузка товаров по нажатию «еще», либо автоматом с задержкой в несколько секунд. Минимальная и максимальная сумма заказа
  • Настраиваемые статусы заказа с возможностью указать, что происходит с резервированием
  • Пошаговое оформление заказа: корзина с итоговым списком => выбор доставка (и ввод адреса, если необходимо) => выбор оплаты (с учетом доставки) => форма оплаты (если нужно) => страница благодарности

Дополнительные опции

  • Вишлист с сохранением и возможностью делать его доступным по ссылке, в том числе и в соцсетях
  • Список просмотренных товаров
  • Список похожих товаров
  • Подсказка адреса, Google/Яндекс.Карта при его вводе и интеллектуальный парсинг (готовый пример есть в Google-коде)
  • Автосортировка товара — по продаваемости или по рейтингу
  • Именованные заказы в кабинете клиента (по самому дорогому товару): вместо заказ №1343 пишем Заказ №1343: видекарта NVidia и еще 5 товаров
  • Интеграция с сервисами отправки SMS
  • Уведомления сотрудников магазина в Telegram (путем настройки бота) о новых заказах, отправке feedback, отзывах и т.п.

Технические особенности

  • Расчет цены вынесен в отдельный класс с возможностью его указания через конфиг (чтобы при необходимости можно было легко заменить на специализированный под особенности конкретного магазина)
  • Товары корзины хранятся в cookies с сериализацией JSON, а не session (для того, чтобы легче было контролировать срок хранения и меньше грузить сервер, в идеале механизм session вообще не должен использоваться)
  • То же верно и для списка просмотренных товаров (но там просто список через запятую, без JSON)