Modules
Compat alias for PhoenixKitEcommerce.Cart. Used as Ecto schema in queries (from(c in PhoenixKit.Modules.Shop.Cart, ...)).
Compat alias for PhoenixKitEcommerce.Web.Plugs.ShopSession.
Must be a real Plug so plug macro works.
Compat alias for PhoenixKitEcommerce.Web.Routes.
Compat alias for PhoenixKitEcommerce.Web.UserOrderDetails. LiveView — delegates mount, handle_params.
Compat alias for PhoenixKitEcommerce.Web.UserOrders. LiveView — delegates mount, handle_params, handle_event.
E-commerce Shop Module for PhoenixKit.
PhoenixKitAI.Translatable adapter for shop products.
Thin wrapper around PhoenixKit.Activity.log/1 for the shop module.
Shopping cart schema with support for guest and authenticated users.
Cart item schema with price snapshot for consistency.
Category schema for product organization.
Central mapping from the error atoms returned by the e-commerce module's context, importers, image services, and web layer to translated human-readable strings.
PubSub event broadcasting for Shop module.
Gettext backend for phoenix_kit_ecommerce.
Plain-text extraction from HTML.
Analyze Shopify CSV files to extract option metadata.
Parse Shopify CSV and group rows by Handle.
Validates CSV files before import processing.
Filter products for import based on configurable rules.
Auto-detect CSV format from file headers.
Behaviour for CSV import format adapters.
Money parsing for supplier CSV feeds.
Build option values and price modifiers from Shopify variant rows.
Transform Shopify CSV rows into PhoenixKit Product format.
Prom.ua CSV format adapter implementing ImportFormat behaviour.
Main orchestrator for Shopify CSV import.
Shopify CSV format adapter implementing ImportFormat behaviour.
ImportConfig schema for configurable CSV import filtering.
ImportLog schema for tracking CSV import history.
Shared per-language slug generation for Product and Category.
Module-owned migration chain for the shop tables (phoenix_kit_shop_config,
phoenix_kit_shop_shipping_methods, phoenix_kit_shop_categories,
phoenix_kit_shop_products, phoenix_kit_shop_product_slugs,
phoenix_kit_shop_category_slugs, phoenix_kit_shop_carts,
phoenix_kit_shop_cart_items, phoenix_kit_shop_import_configs,
phoenix_kit_shop_import_logs) plus the two slug-projection functions and
their triggers.
Shop notifications: who hears about an order or an import, and when.
Supported option types for product options.
Context for managing product options.
Validates and normalizes product metadata for options and pricing.
Admin-controllable policy for the shop, in one place.
How a price is written on the storefront: From €40.00 /hour.
Product schema for e-commerce shop.
Service for downloading images from external URLs and storing them in the Storage module.
Orchestrates batch migration of product images from external URLs to Storage module.
Shipping method schema for E-Commerce module.
Shop configuration storage schema (key-value JSONB).
Thin REST client for the Shopify Admin API's products.json endpoint.
Compares local products against Shopify Admin API product data.
One local product's field-by-field diff against its matched Shopify
product. changes only contains fields that actually differ, keyed by
field atom, each holding %{current:, incoming:}. price_extreme? is
true only when :price is in changes and the current/incoming ratio
exceeds 3x.
PhoenixKit.Integrations provider definition for Shopify.
Picks where a sync reads Shopify product data from: the Admin API
(primary, full-fidelity) or the public storefront JSON endpoint
(fallback, price-only — see PhoenixKitEcommerce.Shopify.StorefrontClient
for why it is deliberately narrow).
Reads live product/price data from a store's public storefront JSON
endpoint (/products.json) — no Admin API token required, because
nothing is authenticated. This is the fallback price source: when the
Admin API token configured for a store is missing or rejected, price
sync keeps working through this keyless path instead of stalling until
someone notices and rotates the token.
Orchestrates a Shopify → local product sync: fetch, diff, and selectively apply confirmed changes.
Word-level diff between two versions of a text field.
Resolves URL slugs to Products and Categories with language awareness.
Localized fields helper for Shop module.
What the storefront calls the things it sells.
Provides common imports and setup for Shop module LiveViews.
Sub-permission checks for the bundled admin LiveViews.
Public cart page LiveView for E-Commerce module.
Carts admin list LiveView for E-Commerce module.
Public shop category page. Shows products filtered by category.
Public product detail page with add-to-cart functionality.
Categories list LiveView for Shop module.
Category create/edit form LiveView for Shop module.
Order confirmation page after successful checkout.
Checkout page LiveView for converting cart to order. Supports both logged-in users (with billing profiles) and guest checkout.
Reusable sidebar component for the shop storefront.
Shared helpers for storefront filter state management.
Reusable product display components for the shop storefront.
Shared layout wrapper for the shop storefront public pages.
Translation tabs component for Shop module forms.
E-Commerce module dashboard LiveView.
Shared helper functions for Shop public LiveViews.
Import configurations management LiveView.
LiveView for displaying import details.
Admin LiveView for managing CSV product imports.
Encapsulates option-related state for product form.
Global product options settings LiveView.
Plug that ensures a persistent shop session ID exists.
Product detail view LiveView for Shop module.
Product create/edit form LiveView for Shop module.
Products list LiveView for Shop module.
Shop module routes.
Catalog SEO assigns (canonical / hreflang / og) for the public shop LiveViews, multi-domain aware.
E-Commerce module settings LiveView.
Shipping method create/edit form LiveView.
Shipping methods list LiveView for E-Commerce module admin.
Public shop catalog main page. Shows categories and featured/active products.
Admin LiveView for the Shopify → shop one-way sync.
Test module for verifying Shop functionality
LiveView for displaying order details to the order owner.
LiveView for displaying user's shop orders.
Oban worker for background CSV import.
Oban worker for migrating product images from external URLs to Storage module.
Mix Tasks
Finds and merges duplicate products by slug.
Installs PhoenixKit E-commerce module into parent application.