Catalog
What You Get
Section titled “What You Get”A site that shows products without selling them online: a product catalog imported from CSV, pages, blog and navigation, enquiry forms, agreements and customer accounts. The recipe runs the backend, a Celery worker on the queues of those modules, the CMS and the storefront, and the seed loads the Emporium demo package. It has no prices, stock, cart or checkout. The product names are on Concepts.
Architecture
Section titled “Architecture”Each backend tile is a domain of the module registry. The CMS and the storefront call the backend over the REST API; the backend hands slow work to the worker as tasks. The modules the recipe enables in each domain:
- Foundation: Regional Data, Utilities, Module Registry and Health, Captcha, Email
- Catalog: PIM, PIM CSV Import, Storefront Read Model
- Content: Agreements, Contact Forms, Content
- Customers: Accounts
Modules
Section titled “Modules”| Module | Package | Why |
|---|---|---|
| Regional Data | entirius-django-regional | Core: countries, currencies and languages. |
| Utilities | entirius-django-utils | Core: base models and API helpers, with the AI toolbox client the module registry reports. |
| PIM | entirius-django-pim | The product catalog. |
| PIM CSV Import | entirius-django-pim-csv | CSV import of the catalog. |
| Module Registry and Health | entirius-django-munin | Core: the module registry and health. The CMS switches its panels from it. |
| Captcha | entirius-django-captcha | Bot check on customer sign-up. |
| Agreements | entirius-django-agreements | Consents and legal pages. |
entirius-django-email | Required by Accounts. | |
| Contact Forms | entirius-django-contact-forms | Enquiry forms. |
| Content | entirius-django-contentdb | Pages, blog and navigation. |
| Accounts | entirius-django-accounts | CMS login and customer accounts. |
| Storefront Read Model | entirius-django-matrix | The read model the storefront API serves. |
The service enables the access module itself in every recipe, so the admin gate and application tokens are always on: Access and API Tokens. What each module does, with its repository: Module Catalog.
Run It
Section titled “Run It”git clone https://github.com/entirius/entirius-zeno.gitcd entirius-zenoRECIPE=catalog make setupThe recipe is fixed in .env at the first run: a checkout keeps the recipe it started with.
The recorded run, on 2026-10-13: the seed took 2 min 46 s, then make bdd passed 832 scenarios, with 0 failed and
447 skipped. The skipped scenarios belong to modules outside the recipe or need the AI toolbox, which was disabled
in that run. The images came from a warm build cache; a first run also builds them. The
Quickstart has the timings of a run from source, the URLs and the logins.
Make It Yours
Section titled “Make It Yours”- Your Own Service: a backend of your own that picks its modules.
- Data Import: your catalog instead of the demo package.
A recipe of your own starts as a copy: copy recipes/catalog/ in entirius-zeno under a new name, edit apps.txt,
queues.txt and the paragraph in README.md, then run make recipe-check RECIPE=<new>. It checks the lists against
modules.yaml in the clone of the service.
What Is Not Included
Section titled “What Is Not Included”No prices, stock, cart or checkout: the storefront shows the catalog to browse. Adding pricing and stock is the Shop recipe.
The modules left out, by domain:
- Foundation: Translation Engine, Encrypted Fields
- Catalog: Product Lookup, PIM Translations, Enrichment
- Pricing and Stock: Price Manager, Stock, Omnibus Price History
- Orders and Payments: Delivery Points, Payment Vault, Checkout, Returns
- Content: FAQ, Content Translations, Sitemap, Reviews
- Suppliers and Market Intelligence: Supplier Catalog, Competitive Pricing, Suppliers
- Leads and Outreach: Notifications, Site Intelligence, Communicator, Leads
- Integrations: PIM Export to Magento, Company Registry Lookup, BaseLinker, Accounts Export to Magento, Order Export to Magento, Order Import from Magento, GetResponse
The AI toolbox and the image embedding service stay off, as in Shop.
Data Import: load your own catalog from CSV files.