PhoenixKitCatalogue (PhoenixKitCatalogue v0.19.1)

Copy Markdown View Source

Catalogue module for PhoenixKit.

Manages product catalogues with categories and items. Designed for manufacturing companies (e.g., kitchen/furniture producers) that need to organize materials and components.

Suppliers and manufacturers are NOT managed here: both are companies in the CRM module, holding the supplier / manufacturer role. This module keeps only the per-item sourcing facts (cost, SKU, lead time) and resolves the supplier's identity through PhoenixKitCatalogue.Catalogue.Suppliers.

Installation

Add to your parent app's mix.exs:

{:phoenix_kit_catalogue, path: "../phoenix_kit_catalogue"}

Then mix deps.get. The module auto-discovers via beam scanning. Enable it in Admin > Modules.

Structure

  • Manufacturers — companies that produce materials/components
  • Suppliers — companies that deliver materials (many-to-many with manufacturers)
  • Catalogues — top-level groupings (e.g., "Kitchen Furniture", "Plumbing")
  • Categories — subdivisions within a catalogue (e.g., "Cabinet Frames", "Doors")
  • Items — individual products with SKU, price, unit of measure

Summary

Functions

Resolver for supplier comment threads ("catalogue_item_supplier"): turns thread uuids into %{uuid => %{title, path}} chips, so a "he promised a discount" note links back to the item's Suppliers tab from the central Comments admin and the Activity feed.

Functions

ai_translatables()

resolve_comment_resources(uuids)

@spec resolve_comment_resources([binary()]) :: %{required(binary()) => map()}

Resolver for supplier comment threads ("catalogue_item_supplier"): turns thread uuids into %{uuid => %{title, path}} chips, so a "he promised a discount" note links back to the item's Suppliers tab from the central Comments admin and the Activity feed.

Registered automatically through resource_links/0. Paths are RAW (no URL prefix) — core applies the prefix/locale once at render.

See PhoenixKitCatalogue.Catalogue.SupplierComments for the thread model.