CHINA SHOP ONLINE
Собрали витрину электровелосипедов с заявками вместо онлайн-оплаты и небольшую CMS под владельца: каталог, фото, склад и заказы. Новые заявки сразу приходят в Telegram.
Смотреть превью
Открыть сайт ↗Результат
- Своя CMSкаталог, фото, склад, заказы
- 76артикулов / цветовых вариантов
- 32модели в каталоге
- 1внешняя библиотека — SheetJS для чтения XLS
Что сделали.
Сайт или лендинг
Собрали магазин на Node.js и чистом JS: главная, каталог с поиском и фильтрами, карточки моделей с галереей и цветами, избранное, сравнение до трёх моделей, корзина и оформление заявки. Онлайн-оплаты нет — заказ уходит менеджеру на подтверждение. Цены и количество пересчитывает сервер, а не браузер.
Веб-приложение
Сделали CMS по размеру задачи — не WordPress и не Битрикс. Три вкладки: заказы, каталог, склад. Новый товар создаётся черновиком и не виден покупателям до публикации, а снять его с витрины можно без удаления. В карточке — цена, характеристики, описание, фото и варианты: цвет, артикул, остаток, срок поставки. Без фото товар не опубликовать. При заказе товар резервируется, отмена возвращает его на склад.
Бот
Подключили Telegram-бота: при новой заявке в рабочий чат приходит состав заказа, контакты и пометка, что оплаты не было. Сообщения уходят через очередь — не теряются, даже если сервер перезапустили, и не тормозят оформление заказа.
Интеграции
Остатки приходят из XLS-ведомости поставщика. Импорт в два шага: сначала админка показывает, что изменится, и только потом применяет. Строки сверяются по артикулу, а незнакомый артикул останавливает загрузку — битая ведомость не испортит каталог. На старте — 32 модели и 76 артикулов.
С чем пришли
CHINA SHOP ONLINE — магазин товаров для хобби и отдыха; до нас основная витрина жила на Авито. Нужен был свой сайт: честный каталог электровелосипедов, сравнение моделей и заявка менеджеру без онлайн-оплаты. И инструмент, в котором владелец сам ведёт товары и остатки, а не ждёт разработчика ради каждого фото и цены.
Как устроено
Витрина и админка — одно небольшое Node-приложение с базой SQLite. Каталог, заказы и резервы хранятся в базе, фото — рядом с ней, и обновления сайта их не затирают. Сервер свой, за nginx и Cloudflare. Перед каждой выкладкой делается резервная копия базы, а новая версия включается целиком — сайт не бывает «обновлён наполовину».
Дальше
Демо уже можно смотреть. Полную «коробку» с кабинетами покупателей и 1С в эту задачу сознательно не включали — держали систему лёгкой.



