Перейти до змісту

E-Commerce Module

Статус: ⚠️ Частково реалізовано

  • E-Commerce Manager (процес-аддон всередині Essentials) — реалізовано як frontend/erp/src/components/StoreManager/ + backend/shop/. Дозволяє з ERP керувати каталогом Client Portal, генерувати activation codes, налаштовувати SMTP, бачити email-логи, вести Kanban замовлень.
  • 📋 Headless e-commerce engine (backend/ecommerce/ — окремий app з LiqPay/Нова Пошта/B2B individual pricing) — planned. Орієнтований на клієнтів DOP, які хочуть продавати свої товари через DOP.

Різниця: поточний Store Manager — це конкретний кейс "DOP продає сам себе" (активаційні коди модулів, ліцензії). Плановий ecommerce/ — загальний двигун для будь-якого онлайн-продажу. Вони не конкурують: Store Manager залишиться як addon для продажу ліцензій, ecommerce/ додасться як окремий module для продажу товарів.


Призначення

Headless e-commerce ядро для DOP. Забезпечує: - Управління каталогом (поверх Item з Essentials) - Кошик + checkout flow - Order management (e-commerce specific) - Інтеграція з Shop frontend (Next.js маркетплейс) - Інтеграція з платіжними шлюзами (LiqPay, WayForPay, Stripe) - Інтеграція з доставкою (Нова Пошта, УкрПошта)


Очікувана архітектура

Backend

  • Django app: ecommerce/ — окремо від shop/ (який зараз — для продажу самих модулів DOP)
  • Public API: /api/v1/ecommerce/ — для headless storefront
  • Models: EcomProduct (extension Item), Cart, EcomOrder, Shipment, PaymentTransaction

Frontend

  • Storefront — Next.js (Shop або новий)
  • Admin UI у DOP — управління асортиментом, акціями, замовленнями

Зв'язок з існуючими модулями

DOP Module Як використовується
Essentials Item, Batch, Warehouse, Invoice, GoodsShipment
CRM & Sales Лід → клієнт → замовлення
Client Portal Кабінет покупця (історія, повернення)
Inventory & Finance Резервування, списання, FIFO

🔮 Deferred / Ideas

Повна реалізація E-Commerce engine

Мотивація: є запит на маркетплейс не тільки для DOP-модулів, а для звичайних товарів Чому відкладено: великий scope, потрібен окремий sprint Trigger: клієнт зі стійким інтересом до e-commerce + бюджет

B2B vs B2C режими

Мотивація: B2B потребує price tiers, credit limit, кредит-нот Чому відкладено: після MVP B2C Trigger: запит B2B-клієнта

PIM (Product Information Management)

Мотивація: для каталогу 10k+ SKU потрібно потужне PIM Чому відкладено: залежить від обсягу клієнтського каталогу Trigger: клієнт з >5k товарів

Headless storefront templates

Мотивація: клієнти хочуть швидко запустити свою вітрину Чому відкладено: потрібен шаблон + конфігуратор Trigger: після першого e-commerce клієнта


Пов'язане