Я настраиваю небольшой проект магазина Print-On-Demand и просто хочу спросить, в порядке ли мой способ обработки всех транзакций, что бы вы улучшили, что бы вы сделали по-другому.
Techstack:
- Хостинг: Netlify
- Внешний интерфейс: Gatsby + React
- Настройка печати в клиенте: Paper.js
- Оформление заказа: Snipcart
- Печать: Printful API
- Backend / OrderLogistics / База данных: Express.js + MongoDB + Netlify Лямбда-функции
Итак, общееПроцесс - это:
- Пользователь заходит на сайт и редактирует дизайн по своему вкусу. Параметры редактирования довольно ограничены, пользовательский дизайн отображается с помощью Paper.js
- Пользователь нажимает кнопку «Оформить заказ сейчас» - кнопка
- Clientside генерирует SVG из холста Paper.js и svg + allпараметры настройки отправляются на сервер
- Сервер сохраняет все в БД с уникальным идентификатором
- Уникальный идентификатор отправляется обратно клиенту
- Запущен процесс клиента Snipcart
- Пользователь вводит данные о доставке + платеж и подтверждает покупку
- Платеж обрабатывается Snipcart, уникальный идентификатор + информация о доставке отправляется в Snipcart через API
- Snipcart вызывает backend webhook, когда платеж завершен, передавая уникальныйit + доставка информации
- Backend просматривает дизайн в базе данных на основе уникального идентификатора и создает продукт в Printful API
- Printful создает заказ
- Я вручную дважды проверяю бэкэнд снипкарты + заказ печати,посмотрите, все ли как ожидалось, и если да, подтвердите заказ
- Продукт отправлен printful
Я знаю, что трудно сказать много о процессе, не видя реальной реализации, но только из основных шагов есть что-то, что я должен сделать совершенно иначе?
Спасибозаранее: -)
Редактировать: Это - и если нет, то: Какое хорошее место, чтобы задать такие вопросы?