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)